[SQL] JOIN: INNER JOIN, LEFT JOIN, RIGHT JOIN
出典
エンコーディングトレーニング INNER JOIN LEFT JOIN RIGHT JOIN
INNERJOINはON節とともに使用されます. ON節の条件を満たすレコードのみを持ってきます. INNER JOINでINNERは省略可能です.
INNER JOINクエリー Reservationテーブルの名前フィールドと顧客テーブルの名前フィールドが一致するレコードを使用
の1枚目の表を基準に、2枚目の表を組み合わせます. ON条件式を満たさない場合は、最初のテーブルのフィールド値を直接取得します. の場合、このレコードの2番目のテーブルフィールドの値はNULLとして表示されます.
ReservationテーブルのNameフィールドに従って、LEFTJOINのみを使用して、顧客テーブルのNameフィールドに一致するレコード を検索します.例 、ReserveDateフィールドの値は2016年02月01日以降のレコードのみ Nameが一致すると、INNERJOINのように2つのテーブルのすべてのフィールドが直接インポートされます. 名前が一致しない場合、CustomerテーブルのすべてのフィールドがNULLとして表示されます.
LEFTJOINとは逆に、2番目のテーブルを基準に、1番目のテーブルを組み合わせます. ONセクションの条件を満たさない場合は、2番目のテーブルのフィールド値が直接取得されます. ですが、レコードの最初のテーブルのフィールド値はNULLとして表示されます.
クライアントテーブルのNameフィールドに従って、RIGHT JOINのみを使用してReservationテーブルのNameフィールドに一致するレコード を検索します. INNERJOIN、LEFT JOINとは異なり、まずCustomerテーブルフィールドが左側に表示されます. Nameが一致すると、すべてのフィールドがインポートされます. Nameが一致しない場合、ReservationテーブルのすべてのフィールドがNULLとして表示されます.
エンコーディングトレーニング
JOIN
は、データベース内の複数のテーブルからのレコードを組み合わせて、1つのテーブルまたは結果セットとして表す.1. INNER JOIN
SELECT [FIELD, ...] FROM TABLE1
INNER JOIN TABLE2
ON 조건식
例INNER JOINクエリー
SELECT * FROM Reservation
INNER JOIN Customer
ON Reservation.Name = Customer.Name;
-- 별칭 사용
SELECT * FROM Reservation AS R
INNER JOIN Customer AS C
ON R.Name = C.Name;
2. LEFT JOIN
SELECT [FIELD, ...] FROM TABLE1
LEFT JOIN TABLE2
ON 조건식
例.SELECT * FROM Reservation AS R
LEFT JOIN Customer AS C
ON R.Name = C.Name
WHERE R.ReserveDate > '2016-02-01';
3. RIGHT JOIN
SELECT [FIELD, ...] FROM TABLE1
RIGHT JOIN TABLE2
ON 조건식
例.SELECT * FROM Reservation AS R
RIGHT JOIN Customer AS C
ON R.Name = C.Name;
Reference
この問題について([SQL] JOIN: INNER JOIN, LEFT JOIN, RIGHT JOIN), 我々は、より多くの情報をここで見つけました https://velog.io/@ohdowon064/SQL-JOIN-INNER-JOIN-LEFT-JOIN-RIGHT-JOINテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol