Cartesian product
다중 테이블 쿼리의 경우 테이블 이름을 쉼표로 구분해야 합니다. 이런 식으로 여러 테이블의 모든 데이터를 알아낼 수 있습니다. 알아내는 방법은 데카르트 곱법(완전한 조합)입니다
이렇게 알아낸 많은 데이터는 유효하지 않은 데이터입니다. 다중 테이블 쿼리에 조건을 추가하여 원하는 정보를 찾을 수 있습니다.
Inner Join
데이터베이스를 설계할 때 테이블 간 연관된 속성을 통해 효과적인 정보를 필터링할 수 있습니다.
명시적 내부 조인
SELECT * FROM employee AS e1,enterprise AS e2 WHERE e1.enterpriseId-e2.id;
암시적 내부 조인
SELECT * FROM employee e1 INNER JOIN enterprise e2 ON e1.enterpriseId=e2.id;
암시적 내부 조인과 명시적 내부 조인 사이에는 본질적인 차이가 없습니다.
관련 권장사항: "Navicat for mysql 사용법 그래픽 튜토리얼"
외부 연결
한 테이블을 기준으로 이 테이블의 모든 데이터를 찾아낸 후 다른 테이블과 연결합니다. 해당 정보가 표시됩니다. 연결되어 있지 않으면 null로 표시되지 않습니다.
왼쪽 외부 조인
SELECT * FROM employee e1 LEFT JOIN enterprise e2 ON e1.enterpriseId=e2.id;
오른쪽 외부 조인
SELECT * FROM employee e1 RIGHT JOIN enterprise e2 ON e1.enterpriseId=e2.id;
테이블 별칭을 사용하는 이유는 두 가지입니다.
1. 2. 중복 테이블에서 다중 테이블 쿼리를 수행하는 경우 별칭을 사용해야 합니다. 별칭을 사용하는 방법에는 두 가지가 있습니다. 1. 테이블 이름 뒤에 공백을 직접 추가한 다음 새 이름을 지정합니다.SELECT * FROM employee e1,enterprise e2 WHERE e1.enterpriseId-e2.id;2.as는 직접 이름을 붙이는 것과 다르지 않지만 좀 더 표준화된 SQL 문을 사용하면 보기 더 쉬울 것 같습니다.
아아아아
위 내용은 navicat에서 공동 쿼리를 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!