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

Perkongsian kes pertanyaan berbilang jadual asas MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2022-11-01 15:13:53
ke hadapan
1534 orang telah melayarinya

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);
Salin selepas log masuk

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;
Salin selepas log masuk

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;
Salin selepas log masuk

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;
Salin selepas log masuk

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 ;
Salin selepas log masuk

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;
Salin selepas log masuk

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!

Label berkaitan:
sumber:jb51.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan