ホームページ  >  記事  >  データベース  >  MySQL の基本的なマルチテーブル クエリのケース共有

MySQL の基本的なマルチテーブル クエリのケース共有

WBOY
WBOY転載
2022-11-01 15:13:531460ブラウズ

この記事では、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 従業員テーブル、部門部門テーブル、給料等級の 3 つだけです。テーブル。

従業員の名前、年齢、役職、部門情報のクエリ (暗黙的な内部結合)

テーブル: 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;

従業員の部門 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。