表的加法:将多张表的同列数据整合到一张表上

关键词:union 删除重复行 union all 保留重复行


表的联结:将多张表的不同列数据整合到一张表上(join)

  1. 交叉联结(笛卡尔积):两张表的各行和各列两两组合,是所有联结的基础
  2. 内联结:取出同时存在于两张表中的数据(交集)后进行交叉联结

关键词:inner join;from中有两张表;用on来进行联结

select a.学号,b.姓名,b.课程号
from student as a inner join score as b
on a.学号=b.学号

从两张表中取数据时需要注意字段分别属于哪张表

3. 左/右联结:取出左/右表中的所有数据与右/左表相同行进行交叉联结,没有对应行时显示为空值

关键词:left/right join;from中有两张表;用on来进行联结

select a.学号,b.姓名,b.课程号
from student as a left/right join score as b
on a.学号=b.学号

当添加子句where b.学号 is null时取出去掉两表公共部分的数据

右联结:在course中添加一条数据:

右联结取出右表中所有的数据,左表中无对应的数据就显示null

取出只在右表中的数据:

当有多张表做联结时,一般采用left join,先将学生表和成绩表通过学号做联结,生成一张大表,再用left join,将大表与课程表通过课程号做联结,同理与教师表再进行联结。

生成表以后还是可以用查询条件以及排序条件进行排序

4. 全联结:取出两表的所有行,有相同的行进行合并,不相同的行用空值表示

关键词:full join;mySQL不支持

练习

  1. 查询所有学生的学号(左联结student表),姓名,选课数(课程计数),总成绩(成绩汇总)

两表联结时必须指明列从哪张表中来,否则会报错

当学号从成绩表中选择时,0004号的学号就不会显示

如果采用右联结,即会显示在成绩表中所有学生的成绩,但是不一定有姓名显示,因为学生表中没有0005号学生的记录。

如果采用内联结,只会显示在2张表中同时存在的学生信息,而要查询这两张表中所有学生的成绩只有在学生表中补上所有学生的信息才能显示,即要查询所有学生的信息需要确保学生表中的信息是完整的。如果有数据缺失,那就需要分别用左右联结找出缺失的部分进行补足。

2. 查询平均成绩大于85的所有学生的学号,姓名和平均成绩

聚合函数不能在where子句中使用,只能用于having子句中筛选

3. 查询学生的选课情况:学号,姓名,课程号,课程名称


case表达式:用于对相关条件的判断

case when<判断1> then<表达式1>when<判断2> then<表达式2>
...else Null
end

关键词:case、end不能省略;else 可以省略

用多种条件进行判断时,可以用group by进行分组,前提是这几列的数据全部相同才能进行合并

练习:

  1. 查询出每门课的及格和不及格人数

查询出分段成绩的人数:

与 excel中的if函数不同,每个查询条件不会剔除上一个条件的值,因此,条件不能有相互交叉

SQLZOO

邓白氏码查询不能用_SQL多表查询相关推荐

  1. 查询去除空值_SQL多表查询

    表的加法 union 去除重复行 union all保留重复行 union的用法 union all的用法 表的联结 交叉联结也称笛卡尔积,是将表中的每一行都与另一张表的所有行合并在一起 内联结是将两 ...

  2. 华厦邓白氏码查询网址

    话不多说,地址如下: https://www.dandb.com/search/?keyword=邓白氏码&country=CP&submit=SEARCH&type=coo& ...

  3. IOS-企业开发人员账号amp;邓白氏码申请记录

    Apple开发人员账号分三种,个人.公司,还有企业.个人和公司都称为标准账号. 另一种是教育机构的账号. 账号介绍 个人和公司的就不说了.如今仅仅说企业账号 首先是申请企业账号的地址: https:/ ...

  4. 邓白氏码、苹果公司/企业开发者账号最新申请流程(2019)

    最近一段时间,我在负责公司的苹果企业账号的申请工作,过程还算顺利,这里对申请的过程做一个梳理与总结. 在总结之前,我再吐个槽一句:最难等的不是人家公司受理申请,而是自家公司的OA审批.? 申请的过程概 ...

  5. ios开发者账号申请,以及邓白氏码的申请

    2017年最新的 ios开发者账号申请 以及邓白氏码的申请 第一步:进入 . https://developer.apple.com/programs/ 第二步:点击enroll 进入 第三步:点击 ...

  6. 关于在苹果申请邓白氏码的问题

    原文地址为: 关于在苹果申请邓白氏码的问题 https:// 申请地址: developer.apple.com/program/enroll/dunsLookupForm.action 1. 选择国 ...

  7. Apple 企业开发者账号邓白氏码申请记录 ----转

    1.账号分类 Apple开发者账号分三种,个人,公司,还有企业.个人和公司都称为标准账号. 还有一种是教育机构的账号. 现在记录先: 申请日期2013年4月26 看申请周期有多长. 账号介绍 个人和公 ...

  8. 邓白氏码申请以及企业级账号申请流程

    邓白氏码申请(邓白氏码在申请公司级账号和企业级账号时会用到) 第一步:申请apple Id (如果有就不用申请了)(如果要申请 企业级账号 ,申请apple id 时最好用公司的邮箱) 申请地址:ht ...

  9. 2021年最新邓白氏码申请D-U-N-S

    1.首先申请一个新的苹果账号 2.进入网站[https://developer.apple.com],并登陆输入苹果账号密码 如果是新账号,未申请成为苹果开发者,就会进入这个Welcome页面,点击底 ...

最新文章

  1. expo开发React Native快捷键记录
  2. (chap 2 简单的Http协议) HTTP性能优化之Cookie技术
  3. vmware中系统开机黑屏_macOS Catalina系统Vmware Fusion虚拟机黑屏问题的解决过程
  4. Team Foundation(通常记作“TFS”)
  5. java 面试心得总结-BAT、网易
  6. js 获取鼠标在画布的位置_云凤蝶如何打造媲美 sketch 的自由画布
  7. C++(STL):11---vector源码剖析
  8. 非对称加密算法 --- RSA签名算法
  9. Docker运行参数详解
  10. eigen库学习笔记(2)
  11. mac上投屏android_win10不支持miracast,怎么无线投屏
  12. PHP伪造referer突破网盘禁止外链(附115源码)
  13. django+xadmin在线教育平台慕学网(一)
  14. 关于计算机动画制作的过程,关于计算机制作动画的过程
  15. 读程士宏之《测度论与概率论基础》
  16. 库卡机器人bco运动_库卡工业机器人编程运动教程
  17. Vue自学之路8-vue模版语法(事件绑定)
  18. Kmplayer硬件解码高清视频优化设置
  19. mysql 库存超卖_mysql处理高并发,防止库存超卖
  20. IOS开发之工欲善其事必先利其器:Xcode

热门文章

  1. ise怎么更改编辑器_Win7系统时间更改不了的解决方法
  2. python支付程序源码_python项目中实现支付宝网页支付
  3. 动态规划法求最大字段和时间复杂度_九章算法 | 动态规划:最长上升子序列
  4. .net移动端开发_移动端开发1(前端一)
  5. linux命令行下命令参数前的一横(-)和两横(--)的区别
  6. html 图片自动切换插件,jquery图片切换插件
  7. go get 代理 找不到包_初步看看Go1.10 支持 HTTPS 代理
  8. linux输入文件后怎么保存不了怎么办,关于linux:输入数据后为什么不能保存VI文件?...
  9. c++ 使用 math库笔记
  10. reduce_sum() got an unexpected keyword argument 'keep_dims'