집 >데이터 베이스 >MySQL 튜토리얼 >mysql에서 중국어와 외국 연결을 작성하는 방법은 무엇입니까?
Mysql 중국어 및 외국 조인은 왼쪽 외부 조인과 오른쪽 외부 조인으로 나눌 수 있으며, 작성 방법은 각각 "SELECT 필드 이름 FROM 테이블 1 LEFT OUTER JOIN 테이블 2 ON 절"과 "SELECT 필드 이름 FROM 테이블 1 RIGHT OUTER JOIN"입니다. 표 2 ON 절". 문장".
(권장 튜토리얼: mysql 비디오 튜토리얼)
외부 조인은 왼쪽 외부 조인과 오른쪽 외부 조인으로 나눌 수 있습니다.
왼쪽 외부 조인: 왼쪽 테이블의 모든 행을 포함합니다. 오른쪽 테이블) 일치하는 행이 있는지 여부) 및 오른쪽 테이블에 일치하는 모든 행
오른쪽 외부 조인: 오른쪽 테이블의 모든 행을 포함합니다(왼쪽 테이블에 일치하는 행이 있는지 여부에 관계 없음). 왼쪽 테이블에서 일치하는 모든 행
Left Join
Left Outer Join은 Left Join이라고도 하며 LEFT OUTER JOIN 키워드를 사용하여 두 테이블을 연결하고 ON 절을 사용하여 설정합니다. 가입 조건.
Left Join의 구문 형식은 다음과 같습니다.
SELECT <字段名> FROM <表1> LEFT OUTER JOIN <表2> <ON子句>
구문 설명은 다음과 같습니다.
필드 이름: 쿼리할 필드의 이름입니다.
05cee8b6ad5efd33489a0be0260a7bbca31a6b5c4a9ac86f75409c3950db0e23: 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子句>
구문 설명은 다음과 같습니다.
필드 이름: 쿼리할 필드의 이름입니다.
05cee8b6ad5efd33489a0be0260a7bbca31a6b5c4a9ac86f75409c3950db0e23: 올바른 조인이 필요한 테이블의 이름입니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!