当前位置:网站首页>入门数据库Days5
入门数据库Days5
2022-08-09 00:47:00 【小吴有想法】
- 学习视频【韩顺平讲MySQL】零基础一周学会MySQL -sql mysql教程 mysql视频 mysql入门_哔哩哔哩_bilibili
- 萌新入门,如有错误恳请各位大佬指点,不甚感激
目录
多表查询
所谓多表查询是指基于两个和两个以上的表查询,在实际应用中,查询单个表可能不能满足你的需求。
使用多表查询后
- 从第一个表中,取出一行和第二张表的每一行进行组合,返回结果[返回两张表的所有列]
- 一共返回的记录数 第一张表行数*第二张表的行数
- 这样多表查询默认处理返回的结果,称为笛卡尔集
- 解决这个多表的关键就是要写出正确的过滤条件where
例: 显示雇员名,雇员工资以及所在部门的名字(雇员名,雇员工资来自emp表,部门名来自dept表)
在这里如果要查询emp表的deptno,需要指定是这个表的列,写法是
表.列表
视频总结:
多表查询的条件不能少于表的个数-1,否则会出现笛卡尔集
例:显示部门号为20的部门名,员工名,和工资
例:显示各个员工的姓名,工资,和工资级别
自连接
自连接是指在同一张表的连接查询[将同一张表看做两张表]
例:显示员工名字和他上级的名字
特点:
- 把同一张表当做两张表使用
- 需要给表取别名 表名 表别名
- 列名不明确,可以指定列的别名 列名 as 列的别名
多行子查询
子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询
- 单行子查询是指只返回一行数据的子查询语句
- 多行子查询指返回多行数据的子查询 使用关键字 in
例:如何显示与smith一个部门的员工
例:如何查询和部门10的员工工作相同的雇员
子查询当做临时表使用
例:得到各个类别中价格最高的商品:
最后合一块,显示最高价格的商品的名字之类
all和any
例:显示工资比部门30的所有员工的工资高的员工的姓名,工资和部门号
多列子查询
多列子查询是指查询返回多个列数据的子查询语句
例:如何查询与allen的部门和岗位完全相同的所有雇员(并且不含allen本人)
例:请查询和宋江语文,英语,数学成绩相同的学生
例:查询每个部门的工资高于本部门平均工资的人的信息
例:查找每个部门工资最高的人的详细资料
在这种情况下想让一个表的所有列展示出来需要写为
表名.*
在多表查询中,当多个表的列不重复时,才可以直接写列名
以上为今天的视频笔记,如有侵权请联系我删除。
学习如逆水行舟,不进则退。和小吴一起加油吧!
边栏推荐
猜你喜欢
随机推荐
轻量级网络ESPNet系列 空洞卷积简介
【科研-学习-pytorch】5-boardcasting、合并分割
关于cordova的InAppBrowser插件的几点问题
微信企业号开发之获取公共域名
容器运维平台的故障处理-1
怎么重置mysql的自增列AUTO_INCREMENT初时值
Using MySQL in Ubuntu/Linux environment: Solve the problem of com.mysql.jdbc.PacketTooBigException: Packet for query is too large
轻量级神经网络SqueezeNext--考虑硬件提速
4-11 Matplotlib 配置
"Replay" interview BAMT came back to sort out 398 high-frequency interview questions to help you get a high salary offer
利用Ehcache分布式缓存,轻松打造商业级高并发、高性能API接口!
4-3 Matplotlib库 条形图
Sencha touch中Ext.data.Store获取json串中key值的方法
【科研-学习-pytorch】4-数据类型、创建、索引和维度变化
Discourse 的关闭主题(Close Topic )和重新开放主题
5-1 Seaborn 关系绘图
CondConv--动态卷积思想
使用jdbc来处理MySQL的utf8mb4字符集(转)
经典卷积神经网络ZFNet--解卷积可视化
一名双非程序媛面试蚂蚁、美团、携程等大厂拿 offer 分享面试过程