★
USE db1; CREATE TABLE tb (bang VARCHAR(10), uria INT, tuki INT) CHARSET=utf8; INSERT INTO tb(bang, uria, tuki) VALUES ('A103', 101, 4), ('A102', 54, 5), ('A104', 181, 4), ('A101', 184, 4), ('A103', 17, 5), ('A101', 300, 5), ('A102', 205, 6), ('A104', 93, 5), ('A103', 12, 6), ('A107', 87, 6);
★
SELECT uria, bang FROM tb;
SELECT カラム名 AS エイリアス FROM テーブル名;
★
SELECT bang AS 社員番号, uria AS 売上 FROM tb;
★
SELECT uria*10000 as 売上 FROM tb;
割るとき
SELECT a/b FROM テーブル名;
足すとき
SELECT a+b FROM テーブル名;
★
SELECT AVG(uria) FROM tb;
★
SELECT SUM(uria) FROM tb;
★
SELECT COUNT(uria) FROM tb;
★
SELECT PI();
★
SELECT VERSION();
★
SELECT DATABASE();
★
SELECT USER();
★
SELECT CHARSET('この文字');
★
SELECT CONCAT(bang,nama,'さん') FROM tb1;
★
SELECT RIGHT(bang,2) FROM tb1;
★
SELECT LEFT(bang,2) FROM tb1;
★
SELECT SUBSTRING(bang,2,3) FROM tb1;
★
SELECT REPEAT('.',tosi) FROM tb1;
★
SELECT REVERSE(nama) FROM tb1;
★
CREATE TABLE ima (a INT AUTO_INCREMENT PRIMARY KEY, b DATETIME); INSERT INTO ima (b) VALUES(NOW()); INSERT INTO ima (b) VALUES(NOW()); INSERT INTO ima (b) VALUES(NOW()); INSERT INTO ima (b) VALUES(NOW()); SELECT * FROM ima;
SELECT カラム名 FROM テーブル名 LIMIT 表示するレコード数;
★
SELECT * FROM tb LIMIT 3;
SELECT カラム名 FROM テーブル名 WHERE 条件;
★
SELECT * FROM tb WHERE uria>=100;
★
SELECT * FROM tb WHERE uria<50;★
★
SELECT * FROM tb WHERE tuki<>4;
★
SELECT * FROM tb WHERE uria BETWEEN 50 AND 100;
★
SELECT * FROM tb WHERE uria NOT BETWEEN 50 AND 200;
★
SELECT * FROM tb WHERE tuki IN (5,6);
★
SELECT * FROM tb WHERE bang='A101';
★
SELECT * FROM tb WHERE bang LIKE 'A101';
★
SELECT * FROM tb WHERE bang LIKE '%1';
★
SELECT * FROM tb1 WHERE nama LIKE '%川%';
★
SELECT * FROM tb1 WHERE nama NOT LIKE '佐%';
★
CREATE TABLE tb1J SELECT * FROM tb1 INSERT INTO tb1J (name) VALUES ('氏名のみ');
★
SELECT * FROM tb1J WHERE tosi IS NULL;
★
SELECT * FROM tb1J WHERE tosi IS NOT NULL;
★
SELECT DISTINCT bang FROM tb;
★
SELECT * FROM tb WHERE uria>=50 AND uria<=100; SELECT * FROM tb WHERE bang LIKE '%1' AND tuki=4;
★
SELECT * FROM tb WHERE uria<50 OR uria>200;
★
SELECT * FROM tb WHERE bang LIKE '%1' AND tuki=4 OR uria>=200; SELECT * FROM tb WHERE uria>=200 OR bang LIKE '%1' AND tuki=4; SELECT * FROM tb WHERE (uria>=200 OR bang LIKE '%1') AND tuki=4;
CASE WHEN 条件1 THEN 表示する値 WHEN 条件2 THEN 表示する値 WHEN 条件3 THEN 表示する値 …… ELSE すべての条件に当てはまらないときの値 END
★
SELECT CASE WHEN uria>=100 THEN '多い' WHEN uria>=50 THEN '中くらい' ELSE '少ない' END FROM tb;
★
SELECT bang,uria, CASE WHEN uria>=100 THEN '多い' WHEN uria>=50 THEN '中くらい' ELSE '少ない' END AS 評価 FROM tb;
SELECT カラム名 FROM テーブル名 ORDER BY キーとなるカラム;
★
SELECT * FROM tb ORDER BY uria; SELECT * FROM tb ORDER BY uria ASC;
★
SELECT * FROM tb ORDER BY uria DESC LIMIT 5;
SELECT カラム名 FROM テーブル名 LIMIT 表示するレコード数 OFFSET 表示開始レコードのシフト数;
★
SELECT * FROM tb ORDER BY uria DESC LIMIT 2 OFFSET 3;
SELECT カラム名 FROM テーブル名 GROUP BY グループ化するカラム名;
★
SELECT * FROM tb GROUP BY bang;
★
SELECT COUNT(*) FROM tb GROUP BY bang; SELECT bang, COUNT(*) AS 件数 FROM tb GROUP BY bang;
★
SELECT bang,SUM(uria) AS 合計 FROM tb GROUP BY bang; SELECT bang,AVG(uria) FROM tb GROUP by bang;
SELECT 集計したカラム FROM テーブル名 GROUP BY グループ化するカラム HAVING 条件;
★
SELECT bang,sum(uria) FROM tb GROUP BY bang HAVING SUM(uria)>=200;
★
SELECT bang,AVG(uria) FROM tb WHERE uria>=50 GROUP BY bang;
★
SELECT bang,AVG(uria) FROM tb GROUP BY bang ORDER BY AVG(uria) DESC;
★
SELECT bang,AVG(uria) FROM tb WHERE uria>=50 GROUP BY bang ORDER BY AVG(uria) DESC;
テーブル「tb」の「uria」の合計値の前後に「合計は」「万円です」の文字列を付けて表示してください。なお、表示する項目名には「売上」のエイリアスを付けること。
SELECT CONCAT('合計は',CAST(SUM(uria) AS CHAR),'万円です') AS 売上 FROM tb;
次のテーブル「tb」で、カラム「uria」が50以上で、「bang」ごとの「uria」の平均で120以上のものだけを、「uria」の平均の多いものから表示してください。
SELECT bang,AVG(uria) FROM tb WHERE uria>=50 GROUP BY bang HAVING AVG(uria)>=120 ORDER BY AVG(uria) DESC;