>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 여러 테이블을 효율적으로 조인하는 방법은 무엇입니까?

MySQL에서 여러 테이블을 효율적으로 조인하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-20 14:47:16694검색

How to Efficiently Join Multiple Tables in MySQL?

MySQL을 사용하여 여러 테이블 조인: 종합 가이드

데이터베이스를 관리할 때 여러 테이블에서 데이터를 검색해야 하는 경우가 많습니다. MySQL은 공통 필드를 기반으로 다양한 테이블의 데이터를 결합할 수 있는 강력한 JOIN 연산자를 제공합니다.

MySQL에서 세 테이블 조인

제공된 예에서 목표는 다음과 같습니다. Student, Course, Bridge의 세 테이블에서 학습한 코스가 포함된 학생 이름을 검색합니다. Bridge 테이블은 학생을 강좌에 연결하는 중개자 역할을 합니다.

INNER JOIN 사용

이를 달성하려면 Student 테이블의 행과 일치하는 INNER JOIN 구문을 사용하세요. 및 Bridge의 값을 기반으로 하는 코스 테이블 table:

SELECT s.name AS Student, c.name AS Course
FROM student s
INNER JOIN bridge b ON s.id = b.sid
INNER JOIN course c ON b.cid = c.id
ORDER BY s.name;

정규화된 형식: 관리 관계 찾기

두 번째 예에서는 직원 중 누가 누구를 관리하는지 확인하고 테이블을 관리하려고 합니다.

SQL JOIN 사용 구문

이 정보를 정규화된 형식으로 검색하려면:

SELECT e1.name AS Manager, e2.name AS Staff
FROM employee e1
JOIN manage m ON e1.id = m.mid
JOIN employee e2 ON m.eid = e2.id;

Clarity를 ​​위한 ANSI 구문

ANSI 구문을 사용하는 것이 좋습니다. 더 큰 명확성과 가독성을 위해:

SELECT s.name AS Student, c.name AS Course
FROM student s
INNER JOIN bridge b ON s.id = b.sid
INNER JOIN course c ON b.cid = c.id
ORDER BY s.name;

SELECT e1.name AS Manager, e2.name AS Staff
FROM employee e1
JOIN manage m ON e1.id = m.mid
JOIN employee e2 ON m.eid = e2.id;

위 내용은 MySQL에서 여러 테이블을 효율적으로 조인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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