Mysql 중국어 및 외국 조인은 왼쪽 외부 조인과 오른쪽 외부 조인으로 나눌 수 있으며, 작성 방법은 각각 "SELECT 필드 이름 FROM 테이블 1 LEFT OUTER JOIN 테이블 2 ON 절"과 "SELECT 필드 이름 FROM 테이블 1 RIGHT OUTER JOIN"입니다. 표 2 ON 절". 문장".
왼쪽 외부 조인: 왼쪽 테이블의 모든 행을 포함합니다. 오른쪽 테이블) 일치하는 행이 있는지 여부) 및 오른쪽 테이블에 일치하는 모든 행
오른쪽 외부 조인: 오른쪽 테이블의 모든 행을 포함합니다(왼쪽 테이블에 일치하는 행이 있는지 여부에 관계 없음). 왼쪽 테이블에서 일치하는 모든 행
Left Join
Left Outer Join은 Left Join이라고도 하며 LEFT OUTER JOIN 키워드를 사용하여 두 테이블을 연결하고 ON 절을 사용하여 설정합니다. 가입 조건.
Left Join의 구문 형식은 다음과 같습니다.
SELECT <字段名> FROM <表1> LEFT OUTER JOIN <表2> <ON子句>
로그인 후 복사
구문 설명은 다음과 같습니다.
필드 이름: 쿼리할 필드의 이름입니다.
: Left Join이 필요한 테이블의 이름입니다.
LEFT OUTER JOIN: Left 조인에서 OUTER 키워드를 생략하고 LEFT JOIN 키워드만 사용할 수 있습니다.
ON 절 : 왼쪽 조인의 연결 조건을 설정하는데 사용되며 생략할 수 없습니다.
위 구문에서 "표 1"은 기본 테이블이고 "표 2"는 참조 테이블입니다. Left 조인으로 질의할 경우, "Table 1"의 모든 레코드와 "Table 2"의 조인 조건에 맞는 레코드를 질의할 수 있다. "테이블 1"의 행에 "테이블 2"의 일치하는 행이 없으면 반환된 결과에서 "테이블 2"의 필드 값은 null(NULL)이 됩니다.
예제 1
Left Join 쿼리를 수행하기 전에 먼저 tb_course 및 tb_students_info 테이블의 데이터를 확인합니다. SQL 문과 실행 결과는 다음과 같습니다.
mysql> SELECT * FROM tb_course;
+----+-------------+
| id | course_name |
+----+-------------+
| 1 | Java |
| 2 | MySQL |
| 3 | Python |
| 4 | Go |
| 5 | C++ |
| 6 | HTML |
+----+-------------+
6 rows in set (0.00 sec)
mysql> SELECT * FROM tb_students_info;
+----+--------+------+------+--------+-----------+
| id | name | age | sex | height | course_id |
+----+--------+------+------+--------+-----------+
| 1 | Dany | 25 | 男 | 160 | 1 |
| 2 | Green | 23 | 男 | 158 | 2 |
| 3 | Henry | 23 | 女 | 185 | 1 |
| 4 | Jane | 22 | 男 | 162 | 3 |
| 5 | Jim | 24 | 女 | 175 | 2 |
| 6 | John | 21 | 女 | 172 | 4 |
| 7 | Lily | 22 | 男 | 165 | 4 |
| 8 | Susan | 23 | 男 | 170 | 5 |
| 9 | Thomas | 22 | 女 | 178 | 5 |
| 10 | Tom | 23 | 女 | 165 | 5 |
| 11 | LiMing | 22 | 男 | 180 | 7 |
+----+--------+------+------+--------+-----------+
11 rows in set (0.00 sec)
로그인 후 복사
강좌가 없는 학생을 포함하여 tb_students_info 테이블과 tb_course 테이블에 있는 모든 학생 이름과 해당 강좌 이름을 쿼리합니다. SQL 문과 실행 결과는 다음과 같습니다.
mysql> SELECT s.name,c.course_name FROM tb_students_info s LEFT OUTER JOIN tb_course c
-> ON s.`course_id`=c.`id`;
+--------+-------------+
| name | course_name |
+--------+-------------+
| Dany | Java |
| Henry | Java |
| NULL | Java |
| Green | MySQL |
| Jim | MySQL |
| Jane | Python |
| John | Go |
| Lily | Go |
| Susan | C++ |
| Thomas | C++ |
| Tom | C++ |
| LiMing | NULL |
+--------+-------------+
12 rows in set (0.00 sec)
로그인 후 복사
실행 결과를 보면 LiMing이라는 학생은 현재 강좌가 없습니다. 해당 tb_course 테이블에 해당 학생에 대한 강좌 정보가 없기 때문에 이 레코드는 tb_students_info 테이블에서 해당 값만 가져옵니다. , tb_course 테이블에서 가져온 값은 NULL입니다.
오른쪽 조인
오른쪽 외부 조인은 오른쪽 조인이라고도 하며, 오른쪽 조인은 왼쪽 조인의 역조인입니다. RIGHT OUTER JOIN 키워드를 사용하여 두 테이블을 조인하고 ON 절을 사용하여 조인 조건을 설정합니다.
오른쪽 조인의 구문 형식은 다음과 같습니다.
SELECT <字段名> FROM <表1> RIGHT OUTER JOIN <表2> <ON子句>
로그인 후 복사
구문 설명은 다음과 같습니다.
필드 이름: 쿼리할 필드의 이름입니다.
: 올바른 조인이 필요한 테이블의 이름입니다.
RIGHT OUTER JOIN: Right 조인에서 OUTER 키워드를 생략하고 RIGHT JOIN 키워드만 사용할 수 있습니다.
ON 절 : 올바른 조인의 연결 조건을 설정하는데 사용되며 생략할 수 없습니다.
왼쪽 조인과 달리 오른쪽 조인은 "테이블 2"를 기본 테이블로, "테이블 1"을 참조 테이블로 사용합니다. Right Join 쿼리를 수행하면 "Table 2"의 모든 레코드와 "Table 1"의 조인 조건에 일치하는 레코드를 쿼리할 수 있습니다. "테이블 2"의 행에 "테이블 1"의 일치하는 행이 없으면 반환된 결과에서 "테이블 1"의 필드 값은 null(NULL)이 됩니다.
예제 2
학생이 없는 강좌를 포함하여 tb_students_info 테이블과 tb_course 테이블의 모든 강좌를 쿼리하면 SQL 문과 실행 결과는 다음과 같습니다.
mysql> SELECT s.name,c.course_name FROM tb_students_info s RIGHT OUTER JOIN tb_course c
-> ON s.`course_id`=c.`id`;
+--------+-------------+
| name | course_name |
+--------+-------------+
| Dany | Java |
| Green | MySQL |
| Henry | Java |
| Jane | Python |
| Jim | MySQL |
| John | Go |
| Lily | Go |
| Susan | C++ |
| Thomas | C++ |
| Tom | C++ |
| NULL | HTML |
+--------+-------------+
11 rows in set (0.00 sec)
로그인 후 복사
결과를 보면 HTML이라는 강좌에는 현재 학생이 없습니다. 해당 tb_students_info 테이블에는 학생 정보가 없으므로 이 레코드에는 tb_course 테이블의 해당 값만 가져옵니다. tb_students_info 테이블에서 가져온 값은 NULL입니다.
여러 테이블을 왼쪽/오른쪽으로 연결할 때는 ON 절 다음에 LEFT/RIGHT OUTER JOIN 또는 LEFT/RIGHT JOIN을 연속해서 사용하면 됩니다.
Outer Join 쿼리를 사용하는 경우 쿼리 결과를 왼쪽 테이블에 모두 표시해야 하는지 오른쪽 테이블에 모든 레코드를 표시해야 하는지 구분한 후 해당하는 왼쪽 조인과 오른쪽 조인을 선택하세요.
위 내용은 mysql에서 중국어와 외국 연결을 작성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!