SELECT - 表からデータを取得する -

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 キーワード、その後にデータを取得する表名を指定します。 このとき、表から指定したデータを取得する場合には、取得したい列名を「,(カンマ)」区切りで指定します。 また、表からすべてのデータを取得する場合には、すべての列名を指定せず、「*(アスタリスク)」を指定します。

-- 【説明】
-- 次の SQL 文は、「T_01_1」表から指定したデータを取得します。

SELECT ID, L_NAME, F_NAME FROM T_01_1;


IDL_NAMEF_NAME
100101山田晴男
100102佐藤
100103鈴木二郎
100104田中栄吉
100105木村

-- 【説明】
-- 次の SQL 文は、「T_01_1」表からすべてのデータを取得します。

SELECT * FROM T_01_1;


IDL_NAMEF_NAMESEX
100101山田晴男1
100102佐藤2
100103鈴木二郎1
100104田中栄吉1
100105木村1

 SELECT 文では、データの問い合せを行った結果の列名には(通常)表の列名が使用されます。 このとき、列名のすぐ後に別名を指定することで、問い合せを行った結果の列名に別名を指定することができます。 なお、PostgreSQL / Access で別名を指定する場合には、「AS」の指定が必要です。

-- 【説明】
-- 次の SQL 文は、「L_NAME」列に「苗字」、「F_NAME」列に「名前」として、それぞれの列名に別名を指定します。

SELECT ID, L_NAME AS 苗字, F_NAME AS 名前 FROM T_01_1;


ID苗字名前
100101山田晴男
100102佐藤
100103鈴木二郎
100104田中栄吉
100105木村

 SELECT 文では、表から特定の条件に一致したデータを取得する場合には、WHERE 句を使用します。 また、問い合せを行ったデータを並べ替える場合には、ORDER BY 句を使用します。

-- 【説明】
-- 次の SQL 文は、「T_01_1」表から「ID」列が「100105」に一致するデータのみ取得します。

SELECT * FROM T_01_1
 WHERE ID = '100105';


IDL_NAMEF_NAMESEX
100105木村1

-- 【説明】
-- 次の SQL 文は、「SEX」列のデータを基に問い合せ結果のデータを並べ替えます。

SELECT * FROM T_01_1
 ORDER BY SEX DESC;


IDL_NAMEF_NAMESEX
100102佐藤2
100101山田晴男1
100103鈴木二郎1
100104田中栄吉1
100105木村1

参考表

T_01_1

IDL_NAMEF_NAMESEX
100101山田晴男1
100102佐藤2
100103鈴木二郎1
100104田中栄吉1
100105木村1