>  기사  >  데이터 베이스  >  mysql에서 중국어와 외국 연결을 작성하는 방법은 무엇입니까?

mysql에서 중국어와 외국 연결을 작성하는 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-10-19 14:23:514270검색

Mysql 중국어 및 외국 조인은 왼쪽 외부 조인과 오른쪽 외부 조인으로 나눌 수 있으며, 작성 방법은 각각 "SELECT 필드 이름 FROM 테이블 1 LEFT OUTER JOIN 테이블 2 ON 절"과 "SELECT 필드 이름 FROM 테이블 1 RIGHT OUTER JOIN"입니다. 표 2 ON 절". 문장".

mysql에서 중국어와 외국 연결을 작성하는 방법은 무엇입니까?

(권장 튜토리얼: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.