MySQL 쿼리 연결 소개
데이터베이스 관리에 있어서 쿼리 연결은 매우 중요한 부분입니다. 조인이란 두 개 이상의 테이블 간의 관계를 기반으로 조인하여 데이터 쿼리를 완성하는 과정을 말합니다. MySQL에서는 JOIN 문을 사용하여 쿼리 연결을 구현할 수 있습니다. 이 기사에서는 MySQL 쿼리 연결 사용에 대해 심층적으로 소개합니다.
MySQL 쿼리 연결 분류
MySQL 쿼리 연결은 주로 내부 조인, 외부 조인, 교차 조인의 세 가지 범주로 나뉩니다.
내부 조인은 두 개 이상의 테이블에 있는 레코드 간에 대응 관계가 있음을 의미하며 이 관계는 기본 키와 외래 키로 표현될 수 있습니다. 내부 조인은 동일한 레코드를 유지하여 결과를 반환합니다. 즉, 두 테이블에 일치하는 레코드가 있는 경우에만 쿼리 결과가 반환됩니다.
내부 조인의 구문은 다음과 같습니다.
SELECT col1, col2, ...
FROM table1
INNER JOIN table2
ON table1.column1 = table2.column2;
그 중 col1, col2, ... 반환될 컬럼은 table1과 table2가 쿼리할 테이블이고, 컬럼1과 컬럼2는 테이블을 연결하는 컬럼입니다.
Outer 조인은 Left 조인과 Right 조인으로 구분됩니다. 이러한 조인은 두 개 이상의 테이블이 연결되면 해당 테이블 중 하나가 Matching 레코드와 관련이 없더라도 모든 레코드가 포함된다는 의미입니다. 다른 테이블에서.
왼쪽 조인: 왼쪽 조인은 왼쪽 테이블은 모든 레코드를 가져오고 오른쪽 테이블은 일치하는 레코드만 가져오는 것을 의미합니다. 왼쪽 테이블과 오른쪽 테이블 사이에 일치하는 레코드가 없으면 오른쪽 테이블은 NULL 값을 반환합니다.
왼쪽 조인의 구문은 다음과 같습니다.
SELECT col1, col2, ...
FROM table1
LEFT JOIN table2
ON table1.column1 = table2.column2;
오른쪽 조인: 오른쪽 조인은 왼쪽 조인과 유사합니다. , 왼쪽을 제외하고 테이블과 오른쪽 테이블의 역할이 반대입니다.
오른쪽 조인의 구문은 다음과 같습니다:
SELECT col1, col2, ...
FROM table1
RIGHT JOIN table2
ON table1.column1 = table2.column2;
참고: MySQL에는 FULL도 있습니다. 외부 조인을 위한 OUTER JOIN(완전 외부 조인)이지만 MySQL은 이를 지원하지 않습니다. 따라서 UNION 문을 통해 완전 외부 조인을 시뮬레이션할 수 있습니다.
크로스 조인은 둘 이상의 테이블 간에 조인 조건 없이 조인하는 것을 말합니다. 간단히 말해서 크로스 조인을 사용하면 가능한 모든 조합을 쿼리할 수 있습니다.
교차 조인의 구문은 다음과 같습니다.
SELECT col1, col2, ...
FROM table1
CROSS JOIN table2;
그 중 col1, col2, ...는 table1과 col2, ...가 반환되는 열입니다. table2는 쿼리 표면입니다.
MySQL 쿼리 연결의 응용 예
이제 몇 가지 실제 예를 통해 MySQL 쿼리 연결의 사용법을 이해해 보겠습니다.
예제 1: 내부 조인
student와 Course라는 두 개의 테이블이 있다고 가정해 보겠습니다. 해당 열과 내용은 다음과 같습니다. 1
Jack
2 | Tom | 19 |
---|---|---|
Jerry | 20 | |
밥 | 18 | |
강의 테이블: | course_id | |
student_id |
Math
2 | English | 2 |
---|---|---|
과학 | 2 | |
History | 3 | |
이제 각 학생이 선택한 강좌를 쿼리하려면 다음 SQL 문을 사용할 수 있습니다. | SELECT Student.name, Course.course_name | FROM StudentINNER JOIN Course | ON Student .id =course.student_id;
name |
Jack
Math
Tom | |
---|---|
Jerry | History |
예 2: Left Join | |
SELECT Student.name, Course.course_name | FROM StudentLEFT JOIN Course | ON Student.id = Course.student_id;
Jack
Math
Tom | |
---|---|
J erry | 역사 |
Bob | NULL |
예시 3: 오른쪽 조인 | |
SELECT Student.name, Course.course_name | FROM StudentRIGHT JOIN Course | ON Student.id =course.student_id;
Jack
Math
Tom | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Jerry | 역사 | |||||||||||||||||||||||||||
NULL | 지리 | |||||||||||||||||||||||||||
id | name |
---|---|
1 | A |
2 | B |
3 | C |
다음 SQL 문을 사용하여 교차 조인을 수행할 수 있습니다.
SELECT t1. 이름, t2 .name
FROM table1 t1
CROSS JOIN table1 t2;
이 쿼리는 다음 결과를 반환합니다.
name | name |
---|---|
A | A |
A | B |
A | C |
B | A |
B | B |
B | C |
C | A |
C | B |
C | C |
결론
MySQL 쿼리 연결은 SQL 언어의 중요한 부분이며 관계가 포함된 데이터를 쿼리하는 데 도움이 될 수 있습니다. 이번 글에서는 내부 조인, 왼쪽 조인, 오른쪽 조인, 크로스 조인 등 4가지 조인의 구문과 적용 사례를 소개한다. 이 기사가 MySQL 쿼리 연결을 사용하는 데 도움이 되기를 바랍니다.
위 내용은 mysql 쿼리 연결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!