Rumah >pangkalan data >tutorial mysql >Perkongsian kes pertanyaan berbilang jadual asas MySQL

Perkongsian kes pertanyaan berbilang jadual asas MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBke hadapan
2022-11-01 15:13:531531semak imbas

Artikel ini membawa anda pengetahuan yang berkaitan tentang mysql, yang terutamanya memperkenalkan kandungan yang berkaitan tentang pertanyaan berbilang jadual dan beberapa perkongsian kes, termasuk menanyakan nama, umur, jawatan pekerja, dll. Mari kita ambil lihat kandungan di bawah, semoga bermanfaat untuk semua.

Pembelajaran yang disyorkan: tutorial video mysql

Kes pertanyaan berbilang jadual

Penyediaan persekitaran data

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);

Dalam kes ini, kami menggunakan sintaks pertanyaan berbilang jadual yang dijelaskan di atas untuk melengkapkan 12 keperluan berikut. Terdapat hanya tiga jadual yang terlibat di sini: jadual pekerja, jadual jabatan jabatan, jadual gred gaji salgrade.

Soal nama pekerja, umur, jawatan, maklumat jabatan (sambungan dalaman tersirat)

Jadual: emp, dept

Syarat sertai: 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;

Soal nama, umur, jawatan dan maklumat jabatan pekerja yang berumur di bawah 30 tahun (sambungan dalaman yang jelas)

Jadual: emp, dept

Syarat sambungan: 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;

Pertanyaan ID jabatan dan nama jabatan dengan pekerja

jadual: emp, dept

Syarat sambungan: emp.dept_id = dept.id

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

Tanya semua pekerja yang berumur lebih dari 40 tahun dan nama jabatan yang mereka miliki; jika pekerja itu tidak diberikan jabatan, ia juga perlu dipaparkan (sambungan luar)

jadual : emp, dept

Syarat sambungan: 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 ;

Soal gaji gred semua pekerja

Jadual: emp, salgrade

Syarat sambungan: emp.gaji >= salgrade.losal dan emp.gaji <= 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;

Pembelajaran yang disyorkan: tutorial video mysql

Atas ialah kandungan terperinci Perkongsian kes pertanyaan berbilang jadual asas MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:jb51.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam