SQL-92/99 Oracle Db2 SQL Server MySQL PostgreSQL Access
SELECT [ ALL | DISTINCT ] 列名1[, 列名2 ... ]
FROM 表名1[, 表名2 ... ]
[ WHERE 検索条件1 ... ]
[ GROUP BY 列名1 ... [ HAVING 検索条件1 ... ] ]
[ ORDER BY 列名1 [ ASC | DESC] ... ]
PostgreSQL/ Access/
SELECT [ ALL | DISTINCT ] 列名1 AS 別名1[, 列名2 AS 別名2 ... ]
FROM 表名1[, 表名2 ... ]
[ WHERE 検索条件1 ... ]
[ GROUP BY 列名1 ... [ HAVING 検索条件1 ... ] ]
[ ORDER BY 列名1 [ ASC | DESC ] ... ]
SELECTはデータの問い合せを行うときに使用する最も使用頻度の高いコマンドです。SELECTは取得するデータの列名を並べて指定した後にFROM、その後にデータを取得する表名を指定します。
このとき表から指定したデータを取得する場合には取得したい列名を「,(カンマ)」区切りで指定します。
また、表からすべてのデータを取得する場合にはすべての列名を指定せず「*(アスタリスク)」を指定します。
次に、データの問い合せを行った結果の列名には(通常)表の列名が使用されます。
このとき列名のすぐ後に別名を指定することで問い合せを行った結果の列名に別名を指定することができます。
その他、表から特定の条件に一致したデータを取得する場合にはWHERE、問い合せを行ったデータを並べ替える場合にはORDER BYを使用します。
関連キーワード
SQL実行例の説明(1)
・T1_SAMPLE表から指定したデータを取得します。
SELECT ID, L_NAME, F_NAME FROM T1_SAMPLE;
・T1_SAMPLE表からすべてのデータを取得します。
SELECT * FROM T1_SAMPLE;
SQL実行の結果(1-1)
T1_SAMPLE表のID, L_NAME, F_NAMEのデータを取得します。(右)
ID | L_NAME | F_NAME | SEX |
---|---|---|---|
100101 | 山田 | 晴男 | 1 |
100102 | 佐藤 | 愛 | 2 |
100103 | 鈴木 | 二郎 | 1 |
100104 | 田中 | 栄吉 | 1 |
100105 | 木村 | 匠 | 1 |
ID | L_NAME | F_NAME |
---|---|---|
100101 | 山田 | 晴男 |
100102 | 佐藤 | 愛 |
100103 | 鈴木 | 二郎 |
100104 | 田中 | 栄吉 |
100105 | 木村 | 匠 |
SQL実行の結果(1-2)
T1_SAMPLE表のすべてのデータを取得します。(右)
ID | L_NAME | F_NAME | SEX |
---|---|---|---|
100101 | 山田 | 晴男 | 1 |
100102 | 佐藤 | 愛 | 2 |
100103 | 鈴木 | 二郎 | 1 |
100104 | 田中 | 栄吉 | 1 |
100105 | 木村 | 匠 | 1 |
ID | L_NAME | F_NAME | SEX |
---|---|---|---|
100101 | 山田 | 晴男 | 1 |
100102 | 佐藤 | 愛 | 2 |
100103 | 鈴木 | 二郎 | 1 |
100104 | 田中 | 栄吉 | 1 |
100105 | 木村 | 匠 | 1 |
SQL実行例の説明(2)
・T1_SAMPLE表から指定したデータを取得するときL_NAMEを苗字、F_NAMEを名前として列名に別名を指定します。
SELECT ID, L_NAME AS 苗字, F_NAME AS 名前 FROM T1_SAMPLE;
SQL実行の結果(2-1)
ID | L_NAME | F_NAME | SEX |
---|---|---|---|
100101 | 山田 | 晴男 | 1 |
100102 | 佐藤 | 愛 | 2 |
100103 | 鈴木 | 二郎 | 1 |
100104 | 田中 | 栄吉 | 1 |
100105 | 木村 | 匠 | 1 |
ID | 苗字 | 名前 |
---|---|---|
100101 | 山田 | 晴男 |
100102 | 佐藤 | 愛 |
100103 | 鈴木 | 二郎 |
100104 | 田中 | 栄吉 |
100105 | 木村 | 匠 |
SQL実行例の説明(3)
・T1_SAMPLE表からデータを取得するときIDが100105に一致するデータのみ取得します。
SELECT * FROM T1_SAMPLE
WHERE ID = '100105';
SQL実行の結果(3-1)
ID | L_NAME | F_NAME | SEX |
---|---|---|---|
100101 | 山田 | 晴男 | 1 |
100102 | 佐藤 | 愛 | 2 |
100103 | 鈴木 | 二郎 | 1 |
100104 | 田中 | 栄吉 | 1 |
100105 | 木村 | 匠 | 1 |
ID | L_NAME | F_NAME | SEX |
---|---|---|---|
100105 | 木村 | 匠 | 1 |
SQL実行例の説明(4)
・T1_SAMPLE表からデータを取得するときSEXのデータをもとに問い合せ結果のデータを並べ替えます。
SELECT * FROM T1_SAMPLE
ORDER BY SEX DESC;
SQL実行の結果(4-1)
ID | L_NAME | F_NAME | SEX |
---|---|---|---|
100101 | 山田 | 晴男 | 1 |
100102 | 佐藤 | 愛 | 2 |
100103 | 鈴木 | 二郎 | 1 |
100104 | 田中 | 栄吉 | 1 |
100105 | 木村 | 匠 | 1 |
ID | L_NAME | F_NAME | SEX |
---|---|---|---|
100102 | 佐藤 | 愛 | 2 |
100101 | 山田 | 晴男 | 1 |
100103 | 鈴木 | 二郎 | 1 |
100104 | 田中 | 栄吉 | 1 |
100105 | 木村 | 匠 | 1 |