mysql--6.多表查询
来源:互联网 发布:java web面试题 编辑:程序博客网 时间:2024/06/05 19:38
1 概述
2 内链接--inner可以省略
2.1 等值连接
Eg:
2.2 非等值连接
2.3 自连接
找出每一个员工的上级领导,要求显示员工姓名及对应的领导姓名(内连接:自连接)
二、省市
3 外链接(等值)--outer可省略
3.1 左外连接和右外连接
练习:
查看所有人所属的部门名称和员工名称?
selectdept.dname,emp.ename from dept,emp where dept.did = emp.dno;
selectd.dname,e.ename from dept d,emp e where d.did = e.dno;
统计每个部门的人数(按照部门名称统计,分组group by count)
selectd.dname,count(*) from dept d,emp e where d.did = e.dno group by d.dname;
统计部门的平均工资(按部门名称统计,分组group by avg)
selectd.dname,avg(salaly) from dept d,emp e where d.did = e.dno group by d.dname;
3.2 全外连接
4 交叉连接/笛卡尔积
表A 表B
aidaname bid bname
a1 aa1 b1 bb1
a2 aa2 b2 bb2
b3 bb3
*查询的语法
select* from 表A,表B; 返回的结果就是笛卡尔积。
结果:
a1 aa1 b1 bb1
a1 aa1 b2 bb2
a1 aa1 b3 bb3
a2 aa2 b1 bb1
a2 aa2 b2 bb2
a2 aa2 b3 bb3
select * from dept,emp;
5 扩展:多表连接
员工表不部门表连接(e.deptno = d.deptno),再不工资等级表连接(e.sal between s.losal and s.hisal)
原理:A表和B表通过连接条件1连接之后,A表再和C表通过连接条件2进行连接;
- mysql--6.多表查询
- 【MySQL】MySQL多表查询
- MySQL 多表查询
- mysql多表查询
- Mysql多表查询
- MySQL多表查询
- MYSQL多表查询
- MySQL多表查询
- MySQL多表查询
- MySQL多表查询
- MySQL多表查询
- MySQL多表查询
- MySQL多表查询
- mysql 多表查询
- MySQL多表查询
- MySQL多表查询
- MySQL多表查询
- MySql:多表查询
- Week 9 Lecture Notes
- ~APTX4869
- java 线程池
- Input类
- PostgreSQL 9种索引的原理和应用场景
- mysql--6.多表查询
- Docker的各种概念
- k近邻法
- java 中 equals 与 == 的区别
- Unity脚本生命周期常用方法
- 笔试面临的j摄像头问题
- 理解opreator操作符的应用
- UIToolBar使用
- 1041. Be Unique (20) Hash散列