メモ帳
SQL
データベース言語の事、MySQLは箱
DBMS
データベースマネジメントシステム、DBを管理する。私たちはDBMSとやりとりをする。
リレーショナルベータベース
一般的なDB列と行からなる。関連(リレーション)二つのDBがIDで結びついている
RDBMS=リレーショナルデータベースマネジメントシステム
文字
小文字でも大文字でもどっちでもよい
※可読性を上げるために統一性は大事
Select 〇
SELECT 〇
#SQL
データを集めて分析するのに役立つ
SELECT(カラムを記載,ここに式を描くときもある,WHEREより先に処理)
FROM(テーブル名を記載する)
SELECT name,price
FROM items;
訳:itemsテーブルのnameとpriceを検索
WHERE(条件式を記載して範囲を限定する,fromの後に記載)
where price <= 1000;
訳:whereでpriceが1000円以下を検索
LIKE(条件式を記載して文字検索)
where name LIKE ワイン%;
訳:nameにワインで始まるものが含まれるものを検索
not(条件式以外を検索)
where not name LIKE ワイン%;
訳:nameにワインで始まるもの以外が含まれるものを検索
null(データがないものを検索)
where price is not null;
訳:値段のデータがないものを検索
AND,OR(複数の条件式を記載する時に使う)
where price = 1000
and name = "ワイン";
値段が1000円かつ名前がワインのものを検索
where price = 1000
or price = 2000;
値段が1000か2000円を検索
LIMIT (検索数を決める)
where price = "1000"
limit 5;
訳:値段が1000円の物を5件表示する
distinct(重複をの省く)
SELECT distinct (name)
訳:重複していない名前を検索
四則演算(データを計算することができる)
select price * 1.1
from items;
訳:アイテムの値段を1.1かけて表示
COUNT(*)(カラムの数を数える)
select count(*)
from items
訳:アイテムテーブルの数を数える
AS(検索したカラム名に別名をつけることができる)
select name as item_name
from items
訳:名前とアイテム名として表示する
ORDER BY(DESC降下的,ASC上昇的)
order by price ASC;
訳:値段を上昇に並べ帰る
GROUP BY(どのようにグループ分けするかを記載する、集約式の事で)
group by toys_id;
訳:おもちゃのグループにある物を検索
HAVING (グループの値に対する条件式を記載してさらにグループ内検索)
where price <= 1000
group by toy_id;
訳:おもちゃが1000円以下の物を検索
INNER JOIN(テーブルを結合する)
SELECT (*)
FROM items
INNER JOIN toys ON toys_id = darts_id.toy_id;
BETWEEN(範囲検索)
where price between 1000 and 2000;
訳:値段が1000円から2000円の間の物を検索
IN (OR複数の条件式を使う場合IN使う可視化が上がる)
where price in (1000,2000,3000);
訳:値段が1000,2000,3000、の物を検索