2013年08月07日
【OSS-DB試験対策】Silver 検索の基本を押さえる SELECT / WHERE / ORDER BY
SQL操作で最も使うであろう、データベースの検索コマンドの基本を押さえる。
● SELECT 文の基本構文
SELECT [DISTINCT] * | SELECT 項目リスト
FROM 表名 [,…]
[WHERE 検索条件式]
[GROUP BY グループ化式]
[HAVING 検索条件式]
[ORDER BY 並べ替え式]
● SELECT 全件全項目検索
「SELECT * FROM 表」
● SELECT 項目リスト
goods_name | sales_price
------------+-------------
もも | 100
なし | 80
みかん | 30
牛肉 | 300
豚肉 | 200
さば | 150
● 条件を指定して欲しいデータだけを取り出す
goods_idが3番の商品名を取り出す
goods_id | goods_name
----------+------------
3 | みかん
goods_idが3番以外の商品名を取り出す
goods_id | goods_name
----------+------------
1 | もも
2 | なし
4 | 牛肉
5 | 豚肉
6 | さば
sales_priceが200以上のものを取り出す
goods_id | goods_name | sales_price
----------+------------+-------------
4 | 牛肉 | 300
5 | 豚肉 | 200
● DESCが降順、ASC(または未記入)が昇順
「ORDER BY 列名 DESC」
goods_id | goods_name | sales_price
----------+------------+-------------
4 | 牛肉 | 300
5 | 豚肉 | 200
6 | さば | 150
1 | もも | 100
2 | なし | 80
3 | みかん | 30
「ORDER BY 列名 ASC(または未記入)」
goods_id | goods_name | sales_price
----------+------------+-------------
3 | みかん | 30
2 | なし | 80
1 | もも | 100
6 | さば | 150
5 | 豚肉 | 200
4 | 牛肉 | 300
◆ SELECT
● SELECT 文の基本構文
SELECT [DISTINCT] * | SELECT 項目リスト
FROM 表名 [,…]
[WHERE 検索条件式]
[GROUP BY グループ化式]
[HAVING 検索条件式]
[ORDER BY 並べ替え式]
● SELECT 全件全項目検索
「SELECT * FROM 表」
SELECT * FROM goods;
● SELECT 項目リスト
SELECT goods_name,sales_price FROM goods;
goods_name | sales_price
------------+-------------
もも | 100
なし | 80
みかん | 30
牛肉 | 300
豚肉 | 200
さば | 150
WHERE
● 条件を指定して欲しいデータだけを取り出す
goods_idが3番の商品名を取り出す
SELECT goods_id,goods_name FROM goods WHERE goods_id=3;
goods_id | goods_name
----------+------------
3 | みかん
goods_idが3番以外の商品名を取り出す
SELECT goods_id,goods_name FROM goods WHERE goods_id=3;
goods_id | goods_name
----------+------------
1 | もも
2 | なし
4 | 牛肉
5 | 豚肉
6 | さば
sales_priceが200以上のものを取り出す
SELECT goods_id,goods_name,sales_price FROM goods WHERE sales_price>=200;
goods_id | goods_name | sales_price
----------+------------+-------------
4 | 牛肉 | 300
5 | 豚肉 | 200
◆ ORDER BY
● DESCが降順、ASC(または未記入)が昇順
「ORDER BY 列名 DESC」
SELECT goods_id.goods_name,sales_price FROM goods ORDER BY sales_price DESC;
goods_id | goods_name | sales_price
----------+------------+-------------
4 | 牛肉 | 300
5 | 豚肉 | 200
6 | さば | 150
1 | もも | 100
2 | なし | 80
3 | みかん | 30
「ORDER BY 列名 ASC(または未記入)」
shop=# SELECT goods_id,goods_name,sales_price FROM goods ORDER BY sales_price ASC;
goods_id | goods_name | sales_price
----------+------------+-------------
3 | みかん | 30
2 | なし | 80
1 | もも | 100
6 | さば | 150
5 | 豚肉 | 200
4 | 牛肉 | 300