대부분의 개발자는 내가 어떻게 작성하든 내 SQL 문이 왜 잘못된지 혼란스러워할 수 있습니다.
…의 전체 조인은 mysql 데이터베이스를 지원하지 않고 Oracle 데이터베이스만 지원하므로 매우 간단합니다.
더 이상 고민하지 않고 바로 예를 들어보겠습니다.
select a.* FROM (select table1.*,table2.* from table1 left JOIN table2 on table1.id=table2 .tid <-- 用左外连接 --> UNION <-- 通过UNION来链接 --> select table1.*,table2.* from table1 right JOIN table2 on table1.id=table2 .tid) as a <-- 用右外连接 --> where a.id = #{id} <-- 如果要根据条件查询,必须要把上面括号里的当做子查询,条件必须写在外面 --> ORDER BY id <-- 其它操作跟在后面 -->
아주 간단해 보이지는 않지만, 초보자에게는 오랜 시간 동안 어려움을 겪을 수 있으므로 여기에서 마치겠습니다.
(1) 내부 조인
select * from user1 a INNER JOIN user2 b on a.id=b.id
INNER JOIN 내부 조인은 두 테이블의 교차점을 보여줍니다. 즉, 얻은 것은 쿼리 조건(위의 a.id)입니다. sql문) =b.id) 정보입니다.
(2) JOIN 연결의 Left Join/Left Outer Join (LEFT JOIN/LEFT OUTER JOIN)
select * from user1 a LEFT JOIN user2 b on a.id=b.id
Left 조인은 왼쪽 테이블의 모든 정보와 쿼리 조건(예: .id 위) =b.id, 즉 관련 질의 조건을 만족하는 왼쪽과 오른쪽 테이블의 정보) 두 부분으로 나뉜다.
(3) JOIN 연결의 RIGHT JOIN/RIGHT OUTER JOIN
select * from user1 a RIGHTJOIN user2 b on a.id=b.id
오른쪽 조인은 RIGHT JOIN 오른쪽에 있는 오른쪽 테이블의 모든 정보와 관련 쿼리 조건을 만족하는 왼쪽 및 오른쪽 정보를 쿼리합니다( 이것이 위의 a.id=b.id 조건입니다.
(4) 완전 조인(full Join …on…)3848a87a02ad4ed82c64145311021d89
select * from user1 a FULL JOIN user2 b on a.id=b.id
full 외부 조인은 실제로 왼쪽 조인과 오른쪽 조인의 집합입니다. 즉, 왼쪽 테이블과 오른쪽 테이블의 모든 데이터를 쿼리한다는 의미입니다.
(5) 교차 조인(cross Join...)
select * from user1 a CROSS JOIN user2 b on a.id=b.id
교차 조인은 데카르트 곱이라고도 하며, 쿼리에서 반환되는 행 수는 두 테이블의 행 수를 곱한 것과 같습니다. .
위 내용은 mysql에서 전체 조인...on...을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!