TIL 21.06.21


今日やったこと


関係型データベースの概念とsql文法の学習に基づいて課題を行った.
タスクを完了する際にjoinを使用する理由を明確に理解しました.
重要な命令語なので、これに対処します.

JOIN


データベース(リレーショナル)には複数のテーブルがあります.
前述したように、表は行と列を持つExcel sheetのような概念です.
複数のテーブルにはそれぞれ1つのテーブルに付与されたプライマリ・キー値があり、別のテーブルから取得されるとForeign Key値と呼ばれる.これにより、テーブル間で接続を確立できます.
JOINコマンドでより詳細にデータを指定できます.

JOINコマンドの使い方


JOINは基本的に交わればいいと思います
INNER、LEFT、RIGHTなど.
最も多く使用されているJOINはINNERJOINです(JOIN = INNER JOIN)
基本文法は以下の通りです.
SELECT 컬럼_이름
FROM 테이블1_이름
JOIN 테이블2_이름 ON 테이블1_연관컬럼1=테이블2_연관컬럼2

...

SELECT 컬럼_이름
FROM 테이블1_이름
LEFT JOIN 테이블2_이름 ON 테이블1_연관컬럼1=테이블2_연관컬럼2

...

SELECT 컬럼_이름
FROM 테이블1_이름
RIGHT JOIN 테이블2_이름 ON 테이블1_연관컬럼1=테이블2_연관컬럼2
LEFTとRIGHTはよく混同され、
LEFTは左のテーブルを中心に右のテーブルを合わせます.
左が無条件で表示され、右が一致しないレコードにNULLが表示されます.
RIGHTは右側のテーブルを中心に、左側のテーブルを合わせます.
右側は無条件に表示され、一致するレコードが左にない場合はNULLが表示されます.
それはいったい何が左なのか、何が右なのか.
FROMで作成したテーブルは左、JOINで作成したテーブルは右です.
1つのクエリ文はJOINを複数回使用して複数のテーブルを接続できます.
SELECT orders.id, orders.created_at, items.image, items.name, order_items.order_quantity, items.price, orders.total_price
FROM orders
INNER JOIN order_items on orders.id=order_items.order_id
INNER JOIN items on order_items.item_id=items.id
WHERE user.id = orders.user_id

コメントサイト


https://superman28.tistory.com/23
https://velog.io/@eensungkim/JOIN-TIL-77%EC%9D%BC%EC%B0%A8