Heim > Datenbank > MySQL-Tutorial > Grundlegende MySQL-Fallfreigabe für mehrere Tabellenabfragen

Grundlegende MySQL-Fallfreigabe für mehrere Tabellenabfragen

WBOY
Freigeben: 2022-11-01 15:13:53
nach vorne
1505 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen relevantes Wissen über MySQL. Er stellt hauptsächlich die relevanten Inhalte zur Multi-Table-Abfrage und zum Teilen von Fällen vor, einschließlich der Abfrage des Namens, des Alters, der Position usw. Werfen wir einen Blick darauf , hoffe es hilft allen.

Empfohlenes Lernen: MySQL-Video-Tutorial

Fall für mehrere Tabellenabfragen

Vorbereitung der Datenumgebung

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);
Nach dem Login kopieren

In diesem Fall verwenden wir hauptsächlich die oben erläuterte Syntax der Mehrtabellenabfrage, um die folgenden 12 abzuschließen Die Anforderungen reichen aus, und hier sind nur drei Tabellen beteiligt: ​​die Emp-Mitarbeitertabelle, die Dept-Abteilungstabelle und die Salgrade-Gehaltsstufentabelle.

Name, Alter, Position und Abteilungsinformationen des Mitarbeiters abfragen (implizite innere Verknüpfung)

Tabelle: emp, dept

Join-Bedingungen: 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;
Nach dem Login kopieren

Alter unter The abfragen Name, Alter, Position und Abteilungsinformationen eines 30-jährigen Mitarbeiters (explizite Inner Join)

Tabelle: emp, dept

Join-Bedingungen: 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;
Nach dem Login kopieren

Abfrage die Abteilungs-ID des Mitarbeiters, Abteilungsname

Tabelle: emp, abt

Verbindungsbedingungen: emp.dept_id = abt.id

select distinct d.id , d.name from emp e , dept d where e.dept_id = d.id;
Nach dem Login kopieren

Fragen Sie alle Mitarbeiter ab, die älter als 40 Jahre sind, und deren Abteilungsnamen ist keine zugewiesene Abteilung und muss angezeigt werden (externe Verbindung)

Tabelle: emp, dept

Verbindungsbedingungen: 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 ;
Nach dem Login kopieren

Gehaltsstufe aller Mitarbeiter abfragen

Tabelle: emp, salgrade

Verbindungsbedingungen: emp.salary >= salgrade.losal und 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;
Nach dem Login kopieren

Empfohlenes Lernen: MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonGrundlegende MySQL-Fallfreigabe für mehrere Tabellenabfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage