SELECT [ALL | DISTINCT] 列名 [,列名...]
FROM テーブル名 [,テーブル名...]
[WHERE 条件式]
[GROUP BY 列名 [HAVING 条件式]]
[ORDER BY 列名]
GROUP BY 列名[,列名...]
ORDER BY 列名[,列名...]
右図のテーブル"T"欄のテーブルに対して、SQL文 SELECT * FROM T; を実行すると、結果欄に示されているように、テーブル"T"のすべての行とすべての列が返される。
同じテーブル"T"に対して、SQL文 SELECT C1 FROM T; を実行すると、テーブル"T"のすべての行の列C1のみが返される。これは、関係代数 における「射影」に相当する。
同じテーブル"T"に対して、SQL文 SELECT * FROM T WHERE C1 = 1; を実行すると、列C1 の値が 1 であるすべて行のすべての列が返される。これは、関係代数 における「選択」に相当する。
最後のSQL文 SELECT * FROM T ORDER BY C1 DESC; は最初のSQL文と同じ行を返すが、並び順が、ORDER BY句により、C1に対して降順(Z-A)になる。ORDER BY句で複数列を指定する場合は、カンマで区切る。例:ORDER BY C1 ASC, C2 DESC(この場合、列C1に対しては昇順、列C2に対しては降順になる。)