집 >데이터 베이스 >MySQL 튜토리얼 >MySQL의 내부 조인 쿼리 방법은 무엇입니까
Inner Join은 연결이라고도 하며 가장 초기의 연결 유형입니다. 일반 조인 또는 자연 조인이라고도 하는 내부 조인은 다른 조인된 테이블의 행과 일치하지 않는 결과 테이블의 모든 행을 삭제하므로 내부 조인에서 정보가 손실될 수 있습니다.
MySQL FROM 절에 INNER JOIN 키워드를 사용하여 두 테이블을 조인하고 ON 절을 사용하여 연결 조건을 설정합니다. 구문적으로 INNER JOIN과 CROSS JOIN은 조건 없이 서로 바뀔 수 있습니다.
SELECT FROM INNER JOIN [ ON子句]
: 검색할 열 이름입니다.
: 내부 연결을 위한 두 테이블의 테이블 이름입니다.
FROM 절 다음에는 내부 조인이 시스템의 기본 테이블 연결 방법이므로 INNER 키워드를 생략하고 JOIN 키워드를 직접 사용할 수 있습니다. 내부 조인을 사용한 후 FROM 절의 ON 절을 통해 테이블 조인 조건을 설정할 수 있습니다.
INNER JOIN 또는 JOIN은 FROM 절에서 여러 테이블 사이에 연속적으로 사용될 수 있으므로 여러 테이블의 내부 조인이 동시에 이루어질 수 있습니다.
tb_students_info 테이블과 tb_departments 테이블 모두 동일한 데이터 유형의 dept_id 필드를 포함하며 두 테이블 사이에는 내부 조인 쿼리가 사용됩니다.
입력 SQL 문과 실행 결과는 다음과 같습니다
mysql> SELECT id,name,age,dept_name -> FROM tb_students_info,tb_departments -> WHERE tb_students_info.dept_id=tb_departments.dept_id; +----+--------+------+-----------+ | id | name | age | dept_name | +----+--------+------+-----------+ | 1 | Dany | 25 | Computer | | 2 | Green | 23 | Chinese | | 3 | Henry | 23 | Math | | 4 | Jane | 22 | Computer | | 5 | Jim | 24 | Computer | | 6 | John | 21 | Math | | 7 | Lily | 22 | Computer | | 8 | Susan | 23 | Economy | | 9 | Thomas | 22 | Chinese | | 10 | Tom | 23 | Economy | +----+--------+------+-----------+ 10 rows in set (0.00 sec)
여기서 SELECT 문과 앞선 소개의 가장 큰 차이점은 SELECT 뒤에 지정된 열은 각각 서로 다른 두 테이블에 속하며 id, name, age가 있습니다. tb_students_info 테이블, dept_name은 tb_departments 테이블에 있고 FROM 절에는 tb_students_info 및 tb_departments라는 두 테이블이 나열됩니다. 여기서는 WHERE 절을 필터 조건으로 사용했는데, 이는 두 테이블의 dept_id 필드 값이 동일한 경우에만 조인 쿼리 조건이 충족됨을 나타냅니다.
반환된 결과를 보면 표시된 레코드가 두 테이블의 서로 다른 열 값으로 구성된 새로운 레코드임을 알 수 있습니다.
Tips: tb_students_info 테이블과 tb_departments 테이블의 dept_id 필드가 동일하므로 비교 시 테이블 이름은 정규화되어야 합니다("테이블 이름.열 이름" 형식). dept_id만 제공하는 경우 MySQL. 어느 것을 참조하는지 알 수 없으며 오류 메시지를 반환합니다.
INNER JOIN 구문을 사용하여 tb_students_info 테이블과 tb_departments 테이블 간의 내부 조인 쿼리를 수행합니다. 입력 SQL 문과 실행 결과는 다음과 같습니다.
mysql> SELECT id,name,age,dept_name -> FROM tb_students_info INNER JOIN tb_departments -> WHERE tb_students_info.dept_id=tb_departments.dept_id; +----+--------+------+-----------+ | id | name | age | dept_name | +----+--------+------+-----------+ | 1 | Dany | 25 | Computer | | 2 | Green | 23 | Chinese | | 3 | Henry | 23 | Math | | 4 | Jane | 22 | Computer | | 5 | Jim | 24 | Computer | | 6 | John | 21 | Math | | 7 | Lily | 22 | Computer | | 8 | Susan | 23 | Economy | | 9 | Thomas | 22 | Chinese | | 10 | Tom | 23 | Economy | +----+--------+------+-----------+ 10 rows in set (0.00 sec)
INNER JOIN은 쿼리문에서 두 테이블 간의 관계를 지정하는 데 사용됩니다. 이 구문을 사용하는 경우 WHERE 대신 ON 절을 사용하여 연결 조건이 주어지며 WHERE 뒤에 지정된 조건은 동일합니다.
위 내용은 MySQL의 내부 조인 쿼리 방법은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!