[TIL]SQL文


SQL


SQLは構造化クエリー言語の略で、データベースで使用される構造化クエリー言語です.ここで、クエリーは、「クエリー文」として格納された情報をフィルタリングするための問題と見なすことができる.
また、SQLは、構造化データテーブルのデータベース(RDB、Relation DataBase)を使用することもできます.追加構造化されていないデータベースは、NoSQLと呼ばれます.

SELECT FROM


SELECTは、データセットに含めるプロパティを選択するコマンドであり、FROMおよびセットに使用されます.
SELECT * FROM table;

上のクエリは、tableですべてのプロパティを検索することを示します(*).

WHERE


WHEREは、フィルタとして機能するクエリ文です.特定の条件を満たすデータのみがクエリーされます.
SELECT * FROM table
WHERE id > 5;

上のクエリはid値が5より大きいデータのみを検索するクエリです.
WHEREセクションではANDまたはORで複数の条件を設定できます.
SELECT * FROM table
WHERE id > 5 AND type = 2;

文字列内で特定の値に似た値を検索する場合は、次のように「%」とLIKEを使用します.
SELECT * FROM table
WHERE name LIKE '%떡%';

また、リスト内の値に一致するデータをフィルタリングする場合は「IN」を使用し、値がない場合は「IS」を使用します.

GROUP BY


GROUP BYは、データパケットクエリである.
SELECT type, COUNT(name) AS Count
FROM table
GROUP BY type;

HAVING


HAVINGはGROUP BYでクエリ結果をフィルタリングする役割を果たす.
SELECT type, COUNT(name) AS Count
FROM table
GROUP BY type
HAVING COUNT(name) >= 4;

CASE


CASEは、if文などの機能を持つクエリ文です.
SELECT CASE 
	WHEN type = 1 THEN 'G1'
	WHEN type = 3 THEN 'G3'
	ELSE 'NONE'
	END AS 'Group'
FROM table;