第12回 SQLの基礎 3
※配布物:資料1部
提出課題:あり
1.複数条件にレコードを抽出
WHERE句に論理演算子(And,Or,Xor,Not)で条件式を結び。
例:SELECT 顧客コード,顧客名 FROM T_顧客 WHERE ランク='A' Xor 都道府県='東京都';
2.条件範囲を指定してレコードを抽出
例:SELECT 商品コード, 数量, 単価, 数量*単価 AS 金額 FROM T_売上げ明細
WHERE 数量*単価 Between 1000000 And 2000000 ORDER BY 数量*単価 DESC;
AND演算子、OR演算子は、複数の条件が必要なときに「条件」と「条件」の間に入れて使う。
3.いずれかの値に合致するレコードを抽出
例:SELECT * FROM T_売上げ明細 WHERE 数量 In(10,20,30);
WHERE句にOr演算子で記述する方法もあるが、ここではIn演算子を使う方法でおこなう。
4.フィールドの値を計算する
例:SELECT 商品コード,数量*単価 AS 金額合計 FROM T_売上げ明細;
5.重複データを表示しない
例:SELECT DISTINCT 商品コード FROM T_売上げ明細;
重複するデータを表示しないようにするにはDISTINCT句を使う。
6.レコードを集計する
例: SELECT '売上総計' AS 計,Sum(数量*単価) AS 金額合計 FROM T_売上げ明細;
7.レコードをグループ化する
例:SELECT 商品コード, Sum(数量) AS 合計数量 FROM T_売上げ明細
GROUP BY 商品コード
HAVING Sum(数量) >=50;
8.サブクエリ(副問い合わせ)
WHERE句の条件の中にSELECT文を使うことができる。これを「副問い合わせ」、または「サブクエリ(sub query)」という。
例 サブクエリが複数個の値を返す場合
SELECT * FROM T_売上げ
WHERE 顧客コード = ANY (SELECT 顧客コード FROM T_顧客 WHERE ランク='A');