サンプル・プログラムの実行例
サンプル・プログラム
whare1.php | サンプル・プログラム本体 (1)。 |
whare2.php | サンプル・プログラム本体 (2)。 |
このプログラムは、1530年以降に生まれた者を抽出、表示するものである。
解説:抽出条件指定とWHERE句
51: //実行するSQL
52: define('SQL', 'SELECT * FROM chronologic WHERE birth >= 1530;');
前回、WHERE句の後に '1' を置いているのは、「常に条件が成立する」という意味と説明した。じつは、WHERE句に条件式を記述することで、レコードを抽出する条件を指定できる。
これを使えば、目的の一覧表を作成することができる。
SELECT * FROM chronologic WHERE birth >= 1530;これは、birthの値が1530以上、つまり、1530年以降に生まれた者を抽出せよという意味を表したSQL文である。
これを使えば、目的の一覧表を作成することができる。
サンプル・プログラム:複合条件
このプログラムは、1530~1549年の間に生まれた者を抽出、表示するものである。
解説:複合条件
50: //実行するSQL
51: define('SQL', 'SELECT * FROM chronologic WHERE (birth >= 1530) AND (birth <= 1549);');
「1530~1549年の間に生まれた者」というのは複合条件である。つまり、「1530年以降に生まれた者」かつ「1549年以前に生まれた者」というように分解できる。
SELECT * FROM chronologic WHERE (birth >= 1530) AND (birth <= 1549);日本語の「かつ」に相当する条件式は AND である。これは、PHPの論理式と同じ意味であるから、分かりやすいと思う。
応用:BETWEEN演算子
SQLでは、「1530~1549年の間に生まれた者」をそのまま表現できる BETWEEN演算子というものがある。BETWEEN演算子を使うと、
前述の複合条件と使った場合と同じ結果が得られる。
SELECT * FROM chronologic WHERE birth BETWEEN 1530 AND 1549;と表現できる。
前述の複合条件と使った場合と同じ結果が得られる。
参考サイト
- (PHP)PDOで、SQLiteにアクセスしてみた:3流プログラマのメモ書き
- (PHP) SQLiteでカラム名を取得する
(この項おわり)
(2022年11月13日)PHP8対応,他.