>  기사  >  데이터 베이스  >  MySQL 기본 다중 테이블 쿼리 사례 공유

MySQL 기본 다중 테이블 쿼리 사례 공유

WBOY
WBOY앞으로
2022-11-01 15:13:531477검색

이 기사에서는 mysql에 대한 관련 지식을 주로 소개하며 직원의 이름, 나이, 직위 등을 쿼리하는 등의 사례 공유에 대해 살펴보겠습니다. , 모두에게 도움이 되기를 바랍니다.

추천 학습: mysql 동영상 튜토리얼

다중 테이블 쿼리 사례

데이터 환경 준비

create table salgrade(
grade int,
losal int,
hisal int
) comment '薪资等级表';
insert into salgrade values (1,0,3000);
insert into salgrade values (2,3001,5000);
insert into salgrade values (3,5001,8000);
insert into salgrade values (4,8001,10000);
insert into salgrade values (5,10001,15000);
insert into salgrade values (6,15001,20000);
insert into salgrade values (7,20001,25000);
insert into salgrade values (8,25001,30000);

이 경우 위에서 설명한 다중 테이블 쿼리 구문을 주로 사용하여 다음 12가지를 완성합니다. 요구사항은 충분하며 여기에는 emp 직원 ​​테이블, 부서 테이블, Salgrade 급여 등급 테이블 등 세 개의 테이블만 포함됩니다.

사원 이름, 나이, 직위, 부서 정보 조회(암시적 내부 조인)

테이블: emp, dept

조인 조건: emp.dept_id = dept.id

select e.name , e.age , e.job , d.name from emp e , dept d where e.dept_id = d.id;

나이 미만 조회 30세 사원의 이름, 나이, 직위, 부서 정보(명시적 내부 조인)

테이블: emp, dept

조인 조건: emp.dept_id = dept.id

select e.name , e.age , e.job , d.name from emp e inner join dept d on e.dept_id =d.id where e.age < 30;

Query 직원 부서 ID, 부서 이름

테이블: emp, dept

연결 조건: emp.dept_id = dept.id

select distinct d.id , d.name from emp e , dept d where e.dept_id = d.id;

40세 이상의 모든 직원과 해당 부서 이름을 쿼리합니다. 할당된 부서가 없으며 표시되어야 합니다(외부 연결)

테이블: emp, dept

연결 조건: emp.dept_id = dept.id

select e.*, d.name from emp e left join dept d on e.dept_id = d.id where e.age >40 ;

전 직원의 급여 등급을 쿼리

테이블: emp, salgrade

연결 조건: emp.salary >= salgrade.losal 및 emp.salary <= salgrade.hisal

-- 方式一
select e.* , s.grade , s.losal, s.hisal from emp e , salgrade s where e.salary >=
s.losal and e.salary <= s.hisal;
-- 方式二
select e.* , s.grade , s.losal, s.hisal from emp e , salgrade s where e.salary
between s.losal and s.hisal;

추천 학습: mysql 비디오 튜토리얼

위 내용은 MySQL 기본 다중 테이블 쿼리 사례 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제