PopTbl
)をロードしておくCREATE TABLE PopTbl
(pref_name VARCHAR(32) PRIMARY KEY,
population INTEGER NOT NULL);
INSERT INTO PopTbl VALUES('徳島', 100);
INSERT INTO PopTbl VALUES('香川', 200);
INSERT INTO PopTbl VALUES('愛媛', 150);
INSERT INTO PopTbl VALUES('高知', 200);
INSERT INTO PopTbl VALUES('福岡', 300);
INSERT INTO PopTbl VALUES('佐賀', 100);
INSERT INTO PopTbl VALUES('長崎', 200);
INSERT INTO PopTbl VALUES('東京', 400);
INSERT INTO PopTbl VALUES('群馬', 50);
sex
が条件式の上部に出ているので分かりやすいWHEN句
にsex
が入っていないので、1行ですべてを表現できていないCASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE 'その他' END
sex
が条件式の上部に出ているので分かりやすいWHEN句
にsex
が入っていないので、1行ですべてを表現できているCASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE 'その他' END
Products
)をロードしておくCREATE TABLE Products
(name VARCHAR(16) PRIMARY KEY,
price INTEGER NOT NULL);
--重複順列・順列・組み合わせ
INSERT INTO Products VALUES('りんご', 100);
INSERT INTO Products VALUES('みかん', 50);
INSERT INTO Products VALUES('バナナ', 80);
Products
の3レコードの重複順列を作成する
Productsテーブル
は同じものだが別名を付けることで自己結合
させているWHERE句
による条件指定を行わないSELECT
P1.name AS NAME_1,
P2.name AS NAME_2
FROM Products P1, Products P2
Products
の3レコードの順列を作成する
Productsテーブル
は同じものだが別名を付けることで自己結合
させているWHERE句
でP1.name <> P2.name
を指定するSELECT
P1.name AS NAME_1,
P2.name AS NAME_2
FROM Products P1, Products P2
WHERE P1.name <> P2.name
Products
の3レコードの組合せを作成する
Productsテーブル
は同じものだが別名を付けることで自己結合
させているWHERE句
でP1.name > P2.name
を指定する
SELECT
P1.name AS NAME_1,
P2.name AS NAME_2
FROM Products P1, Products P2
WHERE P1.name > P2.name