SQLの基本 SELECT FROM WHERE ORDER BY について
SQLについて説明していきます。
覚えてしまったらそこまで難しくないのでしっかりと覚えておきましょう。
まずは下記2つのテーブルがあります。
主キーは1レコードを特定するための他のレコードと被らない情報です。
NULLも許可しません。
JUGYOIN (従業員テーブル)
制約 | カラム名 | 型 | カラム名説明 |
---|---|---|---|
PK(主キー) | JUGYOIN_ID | VARCHAR(8) | 従業員ID |
JUGYOIN_NAME | VARCHAR(30) | 従業員名 | |
BUSHO_CD | VARCHAR(5) | 所属部署コード |
データ
JUGYOIN_ID | JUGYOIN_NAME | BUSHO_CD |
---|---|---|
0001 | 田中 | 5000 |
0002 | 鈴木 | 5000 |
0003 | 佐藤 | 4000 |
ではまずはこのテーブルからデータを抜き出してみます
SELECT句には抜き出したいカラムを指定します。
FROM句には取り出したいテーブル名を指定します。
従業員テーブルから従業員ID従業員名を取得したい時は
SELECT JUGYOIN_ID,JUGYOIN_NAME
FROM JUGYOIN
条件を指定したい時はWHERE 句を付けます。部署コードが5000の従業員を取得する。
型がCHARやVARCHARといった文字列型の場合は必ずシングルクォートでくくります。(INTEGER等の数値の場合は不要です。)
SELECT JUGYOIN_ID,JUGYOIN_NAME
FROM JUGYOIN
WHERE BUSHO_CD='5000'
結果
JUGYOIN_ID | JUGYOIN_NAME | BUSHO_CD |
---|---|---|
0001 | 田中 | 5000 |
0002 | 鈴木 | 5000 |
あいまい検索をしたい場合はLIKEを使います
SELECT JUGYOIN_ID,JUGYOIN_NAME
FROM JUGYOIN
WHERE JUGYOIN_NAME LIKE '%藤%'
結果
JUGYOIN_ID | JUGYOIN_NAME | BUSHO_CD |
---|---|---|
0003 | 佐藤 | 4000 |
INを使うと複数条件を指定して検索できます。
OR やAND 検索もできます。
部署コードが4000か5000 且つ 従業員IDが0001又は0003のもの
SELECT JUGYOIN_ID,JUGYOIN_NAME
FROM JUGYOIN
WHERE BUSHO_CD IN ('4000','5000')
AND (JUGYOIN_ID='0001' OR JUGYOIN_ID='0003')
結果
JUGYOIN_ID | JUGYOIN_NAME | BUSHO_CD |
---|---|---|
0001 | 田中 | 5000 |
0003 | 佐藤 | 4000 |
最後に、昇順にする場合は ORDER BY を付けます。
昇順は ASC 降順はDESC です。
今回は従業員IDの降順に指定してみます。
SELECT JUGYOIN_ID,JUGYOIN_NAME
FROM JUGYOIN
WHERE BUSHO_CD IN ('4000','5000')
ORDER BY JUGYOIN_ID DESC
纏めると
SELECT カラム名(カンマ区切りで複数)
FROM テーブル名
WHERE 条件(IN AND OR を使う)
ORDER BY (ASC 昇順 DESC降順)
如何でしたか?まずはSQLの基本でした。また応用編も掲載していきたいと思います。
今後ともよろしくお願いします。
広告