Maison > base de données > tutoriel mysql > Partage de cas de requête multi-tables de base MySQL

Partage de cas de requête multi-tables de base MySQL

WBOY
Libérer: 2022-11-01 15:13:53
avant
1505 Les gens l'ont consulté

Cet article vous apporte des connaissances pertinentes sur mysql Il présente principalement le contenu pertinent sur les requêtes multi-tables et certains partages de cas, notamment l'interrogation du nom, de l'âge, du poste, etc. des employés. , j'espère que cela aidera tout le monde.

Apprentissage recommandé : Tutoriel vidéo mysql

Cas de requête multi-tables

Préparation de l'environnement de données

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);
Copier après la connexion

Dans ce cas, nous utilisons principalement la syntaxe de requête multi-tables expliquée ci-dessus pour compléter les 12 suivants les exigences sont suffisantes, et il n'y a que trois tables impliquées ici : la table des employés emp, la table du département et la table des niveaux de salaire salgrade.

Requête du nom, de l'âge, du poste et des informations sur le service de l'employé (jointure interne implicite)

Tableau : emp, dept

Conditions d'adhésion : 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;
Copier après la connexion

Requête d'âge inférieur à The nom, âge, poste et informations sur le service d'un employé de 30 ans (jointure interne explicite)

Table : emp, dept

Conditions d'adhésion : 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;
Copier après la connexion

Requête l'ID du département des employés, nom du département

Tableau : emp, dept

Conditions de connexion : emp.dept_id = dept.id

select distinct d.id , d.name from emp e , dept d where e.dept_id = d.id;
Copier après la connexion

Interrogez tous les employés de plus de 40 ans et leurs noms de département s'ils sont là ; n'est pas un service attribué, et il doit être affiché (connexion externe)

Tableau : emp, dept

Conditions de connexion : 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 ;
Copier après la connexion

Requête du niveau de salaire de tous les employés

Tableau : emp, salgrade

Conditions de connexion : emp.salary >= salgrade.losal et 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;
Copier après la connexion

Apprentissage recommandé : Tutoriel vidéo mysql

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal