My SQL (4) - TCP SCHOOL
5800 ワード
JOIN
JOINは、データベース内の複数のテーブルからインポートされたレコードを組み合わせて1つのテーブルとして表す.主にSELECT文とともに使用されます.
INNER JOIN
INNERJOINは1番目のテーブルと2番目のテーブルの共通データを持ってきますすなわち,条件を満たすものはすべてレコードにインポートされる.1. 첫번째테이블이름
INNER JOIN 두번째테이블이름
ON 조건
2. 첫번째테이블이름
JOIN 두번째테이블이름
ON 조건
1. 첫번째테이블이름
INNER JOIN 두번째테이블이름
ON 조건
2. 첫번째테이블이름
JOIN 두번째테이블이름
ON 조건
SELECT * FROM Reservation
INNER JOIN Customer
ON Reservation.Name= Customer.Name;
// 기본 sql 문법
SELECT * FROM Reservation,Customer
WHERE Reservation.Name = Customer.Name;
// MySQL 문법
SELECT * FROM Reservation AS r, Customer AS c
WHERE r.Name = c.Name;
// 별칭 사용 간략화
LEFT JOIN
LEFTJOINは、1枚目のテーブルを基準に2枚目のテーブルを組み合わせます.
つまり、最初のすべてのテーブルがインポートされ、2番目のテーブルは条件を満たすフィールド値のみがインポートされ、残りのテーブルはNULLとして表示されます.
使い方はINNERJOINと同じです.
RIGHT JOIN
LEFT JOINの反対2テーブル目がスタンダード
UNION
UNIXは、複数のSELECT文の結果を1つのテーブルまたは結果セットとして表すために使用されます.
各SELECT文で選択したフィールドの数とタイプは同じでなければなりません.フィールドの順序も同じでなければなりません.SELECT 필드이름
FROM 테이블이름
UNION
SELECT 필드이름
FROM 테이블이름
UNIXは、重複データを自動的に除外します.重複データを回避するには、UNIX ALLを使用します.
サブクエリ
サブクエリ(Subquery)とは、他のクエリに含まれるSELETE文のことです.
EX) ① SELECT ID, ReserveDate, RoomNum
FROM Reservation
② WHERE Name IN (SELECT Name
FROM Customer
WHERE Address = '서울')
これにより、WHERE文またはFROM文にサブクエリを挿入して条件を設定できます.
SELECT 필드이름
FROM 테이블이름
UNION
SELECT 필드이름
FROM 테이블이름
サブクエリ(Subquery)とは、他のクエリに含まれるSELETE文のことです.
EX)
① SELECT ID, ReserveDate, RoomNum
FROM Reservation
② WHERE Name IN (SELECT Name
FROM Customer
WHERE Address = '서울')
これにより、WHERE文またはFROM文にサブクエリを挿入して条件を設定できます.サブクエリのフィーチャー
-クエリを構造化し、クエリを明確にする.-JOINやユニオンより読みやすい.
FROMセクションのサブクエリ
SELECT ...
FROM (서브쿼리) [AS] 이름
...
SELECT文のFROMセクションで使用されるすべてのテーブルに名前が必要です.したがって、FROMセクションで使用されるサブクエリは、上記の構文のように名前を定義する必要があります.
EX)
SELECT Name, ReservedRoom
FROM (SELECT Name, ReserveDate, (RoomNum + 1) AS ReservedRoom
FROM Reservation
WHERE RoomNum > 1001) AS ReservationInfo;
説明:
まず、FROM文のサブクエリが最初に実行されます.
RoomNum+1という名前の値にReservedRoomの別名を付けます.
RoomNum>1001を満たす値をReservationから取得し、Name、ReserveDate、およびReservedRoom値を抽出します.
抽出されたデータセットに別名ReservationInfoを付与します.
ReservationInfoからNameとReservedRoomデータを出力します.
Reference
この問題について(My SQL (4) - TCP SCHOOL), 我々は、より多くの情報をここで見つけました https://velog.io/@bins1225/My-SQL-4-TCP-SCHOOLテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol