다중 테이블 조인 쿼리에 사용되는 문은 무엇입니까?

醉折花枝作酒筹
풀어 주다: 2023-01-06 11:18:16
원래의
6473명이 탐색했습니다.

mysql에서는 "inner Join" 문을 사용하여 다중 테이블 내부 조인 쿼리를 수행할 수 있습니다. "select * from table inner Join table on table 1. field = table 2. field;"만 사용하면 됩니다. 성명. 두 테이블의 레코드를 결합하고 일치하는 관련 필드가 있는 레코드를 반환합니다.

다중 테이블 조인 쿼리에 사용되는 문은 무엇입니까?

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

Inner Join

join 또는 Inner Join

SQL 문: select * from Student Inner Join Score on Student.Num=score.Stu_id;

이때의 문은 다음과 같습니다. select * from Student,score where Student . ID=course.ID;

확장 정보:

Outer Join

1. Left Join Left Join 또는 Left Outer Join

SQL 문: Student.Num=score.Stu_id의 학생 왼쪽 조인 점수에서 *를 선택하세요. ;

2. 오른쪽 조인 또는 오른쪽 외부 조인

SQL 문: Student.Num=score.Stu_id;

SQL의 학생 오른쪽 조인 점수에서 *를 선택하세요. 명령문 :student.Num=score.Stu_id;의 학생 전체 조인 점수에서 *를 선택합니다.

위의 세 가지 방법을 통해 서로 다른 테이블을 함께 조인하여 하나의 큰 테이블로 만들 수 있으며 후속 쿼리 작업이 더 간단해집니다.

select * from Student,score;의 경우 결과가 너무 번거로울 수 있으므로 이 문을 사용하지 마세요.

교차 조인

교차 조인, 쿼리 조건을 지정하는 where 절이 없는 교차 조인은 두 테이블의 데카르트 곱을 생성합니다.

SQL 문: 학생 교차 조인 점수에서 * 선택;

다른 구조의 테이블 연결

두 테이블이 다대다 관계에 있는 경우 중간 테이블인 Student_score를 만들어야 합니다. 최소한 두 테이블의 기본 키입니다.

SQL 문: sc로 왼쪽으로 Student_score에서 s.Name,C.Cname을 선택하고 s.Sno=sc.Sno로 왼쪽으로 조인 점수를 c로 c로 c.Cno=sc.Cno

select C_name,grade from student left join score on student.Num=score.Stu_id where name='李五一';
로그인 후 복사

빨간 부분은 다음과 같습니다. 가운데 테이블은 두 테이블의 내용을 모두 모아 놓은 일반 테이블이다.

UNION 연산자는 두 개 이상의 select 문의 결과 집합을 결합하는 데 사용됩니다.

UNION 내부의 SELECT 문에는 동일한 수의 열이 있어야 하고, 각 열의 데이터 유형도 유사해야 하며, 각 SELECT 문의 열 순서가 동일해야 합니다.

select Num from student union select Stu_id from score;
로그인 후 복사

Union 연산자는 기본적으로 중복 여부를 확인합니다. 중복 값이 허용되면 Union All을 사용할 수 있습니다. 구조가 동일한 두 테이블의 경우 Union을 통해 하나의 테이블로 병합할 수도 있습니다.

select * from student1 union select *from student2;
로그인 후 복사

Subquery

때때로 쿼리에 필요한 조건이 다른 select 문의 결과인 경우 하위 쿼리가 사용됩니다.

1. IN 키워드가 포함된 하위 쿼리

SQL 문: select * from Student where Num IN(점수에서 Stu_id 선택);

2. EXISTS 키워드가 포함된 하위 쿼리

Exists 내부 쿼리는 true가 반환되면, 외부 쿼리는 쿼리하고, 그렇지 않으면 외부 쿼리는 쿼리하지 않습니다.

SQL 문: 존재하는 학생에게서 * 선택(C_name='컴퓨터'인 점수에서 * 선택);

3. ANY 키워드가 포함된 하위 쿼리

한 키워드만 만족하면 ANY 키워드를 사용하세요. 외부 쿼리를 실행합니다.

SQL 문: sname,(date_format(from_days(now())-to_days(생일)),'%Y')+0)을 생일>ANY인 학생의 '나이'로 선택(bumen=인 학생의 생일 선택) '컴퓨터과학과');

4. ALL 키워드를 사용한 하위 쿼리

ALL 키워드를 사용하려면 외부 쿼리를 실행하기 전에 모든 내부 쿼리 문에서 반환된 모든 결과를 충족해야 합니다.

SQL 문: select sname,(date_format (from_days( now())-to_days(생일)),'%Y')+0)을 생일이 있는 학생의 '나이'로>ALL(bumen='컴퓨터과학과'인 학생의 생일 선택);

관련 학습 추천:

mysql 튜토리얼

(동영상)

위 내용은 다중 테이블 조인 쿼리에 사용되는 문은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!