データの選択
SELECT
キーワードを利用し、任意のテーブルからデータを取得する。
全選択
ここでの*
は「全てのカラム」という意味になる。
SELECT * from cats;
+--------+----------------+------------+------+
| cat_id | name | breed | age |
+--------+----------------+------------+------+
| 1 | Ringo | Tabby | 4 |
| 2 | Cindy | Maine Coon | 10 |
| 3 | Dumbledore | Maine Coon | 11 |
| 4 | Egg | Persian | 4 |
| 5 | Misty | Tabby | 13 |
| 6 | George Michael | Ragdoll | 9 |
| 7 | Jackson | Sphynx | 7 |
+--------+----------------+------------+------+
7 rows in set (0.00 sec)
カラムの指定
カラム名を指定できる。
SELECT name FROM cats;
+----------------+
| name |
+----------------+
| Ringo |
| Cindy |
| Dumbledore |
| Egg |
| Misty |
| George Michael |
| Jackson |
+----------------+
7 rows in set (0.00 sec)
複数のカラムを指定する場合は、カンマで区切る。
SELECT name, age FROM cats;
+----------------+------+
| name | age |
+----------------+------+
| Ringo | 4 |
| Cindy | 10 |
| Dumbledore | 11 |
| Egg | 4 |
| Misty | 13 |
| George Michael | 9 |
| Jackson | 7 |
+----------------+------+
7 rows in set (0.00 sec)
WHEREで条件の指定
WHERE
キーワードを使用することで、条件を指定できる。
SELECT * FROM cats WHERE age=4;
+--------+-------+---------+------+
| cat_id | name | breed | age |
+--------+-------+---------+------+
| 1 | Ringo | Tabby | 4 |
| 4 | Egg | Persian | 4 |
+--------+-------+---------+------+
2 rows in set (0.00 sec)
ケースインセンシティブ
デフォルトでは、大文字・小文字を区別しないようになっていることに注意する。
SELECT * FROM cats WHERE name='egG';
+--------+------+---------+------+
| cat_id | name | breed | age |
+--------+------+---------+------+
| 4 | Egg | Persian | 4 |
+--------+------+---------+------+
1 row in set (0.00 sec)
エイリアス
AS
キーワードを使用することで、エイリアス、つまりカラム名に別名をつけてクエリできる。
これは、のちにテーブルをjoinする時などに役に立つ。
SELECT cat_id AS id, name FROM cats;
+----+----------------+
| id | name |
+----+----------------+
| 1 | Ringo |
| 2 | Cindy |
| 3 | Dumbledore |
| 4 | Egg |
| 5 | Misty |
| 6 | George Michael |
| 7 | Jackson |
+----+----------------+
7 rows in set (0.00 sec)