mysql> use xscj;
Database changed
mysql> select xs.学号, xs.姓名, xs.专业名, kc.课程名, xs_kc.成绩
-> from xs
-> left join xs_kc on xs.学号 = xs_kc.学号
-> left join kc on xs_kc.课程号 = kc.课程号
-> where xs.专业名 = '计算机'
-> order by xs.学号;
+--------+--------+--------+----------------+------+
| 学号 | 姓名 | 专业名 | 课程名 | 成绩 |
+--------+--------+--------+----------------+------+
| 081101 | 王林 | 计算机 | 计算机基础 | 80 |
| 081101 | 王林 | 计算机 | 程序设计与语言 | 78 |
| 081102 | 程明 | 计算机 | 计算机基础 | 91 |
| 081102 | 程明 | 计算机 | 计算机网络 | 80 |
| 081102 | 程明 | 计算机 | 软件工程 | 76 |
| 081103 | 王燕 | 计算机 | NULL | NULL |
| 081104 | 韦平平 | 计算机 | 计算机网络 | 65 |
+--------+--------+--------+----------------+------+
7 rows in set (0.00 sec)
mysql> select xs.学号, xs.姓名,kc.课程名, xs_kc.成绩
-> from xs
-> left join xs_kc on xs.学号 = xs_kc.学号
-> left join kc on xs_kc.课程号 = kc.课程号
-> where kc.课程名 = '计算机基础'
-> order by xs.学号;
+--------+--------+------------+------+
| 学号 | 姓名 | 课程名 | 成绩 |
+--------+--------+------------+------+
| 081101 | 王林 | 计算机基础 | 80 |
| 081102 | 程明 | 计算机基础 | 91 |
| 081201 | 王敏 | 计算机基础 | 76 |
| 081203 | 严红 | 计算机基础 | 85 |
| 081303 | 孙祥欣 | 计算机基础 | 63 |
| 081304 | 孙研 | 计算机基础 | 65 |
+--------+--------+------------+------+
6 rows in set (0.00 sec)
mysql> select kc.课程名,avg(成绩) as '平均分'
-> from xs_kc
-> left join kc on kc.课程号 =xs_kc.课程号
-> where kc.课程名 = '计算机基础';
+------------+---------+
| 课程名 | 平均分 |
+------------+---------+
| 计算机基础 | 76.6667 |
+------------+---------+
1 row in set (0.00 sec)
mysql> use yggl;
Database changed
mysql> select e.编号 as 工号,e.姓名,d.部门名称,ifnull(s.收入,'无薪资记 录') as 收入
-> from employees e
-> left join departments d
-> on e.部门号 =d.部门号
-> left join salary s
-> on e.编号 =s.编号;
+--------+--------+------------+---------+
| 工号 | 姓名 | 部门名称 | 收入 |
+--------+--------+------------+---------+
| 000001 | 王林 | 人力资源部 | 2100.8 |
| 010008 | 伍容华 | 财务部 | 1582.62 |
| 020010 | 王向容 | 财务部 | 2860 |
| 020018 | 李丽 | 财务部 | 2347.68 |
| 102201 | 刘明 | 市场部 | 2569.88 |
| 102208 | 朱俊 | 市场部 | 1980 |
| 108991 | 钟敏 | 经理办公室 | 3259.98 |
| 111006 | 张石兵 | 市场部 | 1987.01 |
| 210678 | 林涛 | 经理办公室 | 2240 |
| 302566 | 李玉珉 | 研发部 | 2980.7 |
| 308759 | 叶凡 | 研发部 | 2531.98 |
| 504209 | 陈林琳 | 研发部 | 2066.15 |
+--------+--------+------------+---------+
12 rows in set (0.00 sec)
mysql> select e.编号 as 工号,e.姓名,d.部门名称,s.收入
-> from employees e
-> left join departments d
-> on e.部门号 =d.部门号
-> left join salary s
-> on e.编号 =s.编号;
+--------+--------+------------+---------+
| 工号 | 姓名 | 部门名称 | 收入 |
+--------+--------+------------+---------+
| 000001 | 王林 | 人力资源部 | 2100.8 |
| 010008 | 伍容华 | 财务部 | 1582.62 |
| 020010 | 王向容 | 财务部 | 2860 |
| 020018 | 李丽 | 财务部 | 2347.68 |
| 102201 | 刘明 | 市场部 | 2569.88 |
| 102208 | 朱俊 | 市场部 | 1980 |
| 108991 | 钟敏 | 经理办公室 | 3259.98 |
| 111006 | 张石兵 | 市场部 | 1987.01 |
| 210678 | 林涛 | 经理办公室 | 2240 |
| 302566 | 李玉珉 | 研发部 | 2980.7 |
| 308759 | 叶凡 | 研发部 | 2531.98 |
| 504209 | 陈林琳 | 研发部 | 2066.15 |
+--------+--------+------------+---------+
12 rows in set (0.00 sec)
mysql> select group_concat(e.姓名 separator', ') as 名单,d.部门名称,sum(s.收入) AS 总收入
-> from employees e
-> join departments d on e.部门号 = d.部门号
-> join salary s on e.编号 = s.编号
-> where d.部门名称 = '市场部'
-> group by d.部门名称;
+--------------------+----------+-------------------+
| 名单 | 部门名称 | 总收入 |
+--------------------+----------+-------------------+
| 刘明, 朱俊, 张石兵 | 市场部 | 6536.889892578125 |
+--------------------+----------+-------------------+
1 row in set (0.00 sec)
mysql> select e.编号 as 工号,e.姓名,e.学历,d.部门名称,s.收入
-> from employees e
-> join departments d on e.部门号 = d.部门号
-> join salary s on e.编号 = s.编号
-> where s.收入 > 2000 and e.学历 = '本科';
+--------+--------+------+----------+---------+
| 工号 | 姓名 | 学历 | 部门名称 | 收入 |
+--------+--------+------+----------+---------+
| 302566 | 李玉珉 | 本科 | 研发部 | 2980.7 |
| 308759 | 叶凡 | 本科 | 研发部 | 2531.98 |
| 102201 | 刘明 | 本科 | 市场部 | 2569.88 |
+--------+--------+------+----------+---------+
3 rows in set (0.00 sec)
sql更多表连接
最新推荐文章于 2024-06-07 14:16:07 发布