SELECTで列を選び、WHEREで行をフィルタリングし、LIKEでパターンを検索する方法を学びましょう。
このレッスンを Kodokon で開く新しいセッションを始める場合は、まずレッスン1のCREATE TABLE+INSERTスクリプトをもう一度実行しましょう。SELECTクエリはデータを一切変更せずに読み取ります。SELECTという語のあとに、表示したい列を並べます。これは射影(列の選択)と呼ばれます。FROMのあとには、読み取るテーブルを指定します。
SELECT title, price FROM books;特定の行だけを残すには、条件を続けたWHERE句を加えます。条件は演算子を使って列と値を比較します。=(等しい)、<>または!=(等しくない)、<(より小さい)、>(より大きい)、<=と>=です。おさらいですが、テキストの値はシングルクォートで囲んで書きます。
SELECT * FROM books WHERE genre = 'sf';
SELECT title, year FROM books WHERE year < 1950;複数の条件を組み合わせられます。ANDは両方が真であることを求め、ORは少なくとも一方を求め、NOTは条件を反転させます。優先順位に迷ったら、丸括弧を加えましょう。
SELECT title, price FROM books
WHERE genre = 'sf' AND price < 8;
SELECT title FROM books
WHERE genre = 'conte' OR genre = 'aventure';最後に、LIKE演算子はテキストをパターンと比較します。%ワイルドカードは任意の文字の並び(空でも可)を表し、_はちょうど1文字を表します。たとえば、'D%'は「Dで始まる」を意味し、'%an%'は「anを含む」を意味します。
SELECT title FROM books WHERE author LIKE 'A%';
SELECT title FROM books WHERE title LIKE 'd%';
SELECT author FROM books WHERE author LIKE 'V_rne';