数値を検索する
前回の記事では、表に格納したデータを全て抽出しました。
データを問い合わせするとき、条件を指定して、条件に
合致するデータだけを取り出すことができます。SELECT文の中に
WHERE 条件
という指定を行います。
単価が200以上のデータだけを取り出したいときは
以下のように指定します。
SELECT *
FROM product
WHERE price >=200
というように書きます。
SQLでは、条件を下記の演算子によって作成できます。
演算子 | 式がtrueになる場合 |
---|---|
== | 右辺と左辺は等しい |
<> | 右辺と左辺は等しくない |
> | 右辺が左辺より小さい |
>= | 右辺が左辺以下 |
< | 右辺が左辺より大きい |
<= | 右辺左辺以上 |
AND | 右辺、左辺両方true |
OR | 右辺または左辺がtrue |
NOT | 右辺がtureでないとき |
サンプルコードの実行結果はこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>SQL 条件を付けて検索</title> <link rel="stylesheet" href="../style.css"> </head> <body> <?php $dbName ="sqlite:test.db"; $uName = ""; $pw = ""; $db = new PDO($dbName,$uName,$pw); //抽出対象をpriceが200以上ものに限定している $que = "SELECT * FROM product WHERE price>=200"; $data = $db->query($que); ?> <table border="2"> <tr bgcolor="#b0b0b0"> <th>番号</th> <th>商品</th> <th>単価</th> </tr> <?php while( $value = $data->fetch() ){ $id = $value["id"]; $name = $value["name"]; $price = $value["price"]; echo "<tr>" . "<td>{$id}</td>" . "<td>{$name}</td>" . "<td>{$price}</td>" . "</tr>"; } $db = null; ?> </body> </html> |
サンプルコードのように、SQL文を変更するだけで、
条件に合致したデータだけを取り出すことができます。