连接查询的综合应用

连接查询的综合应用要求不仅能熟练掌握内连接查询、外连接查询、多表连接查询,还要学会运用聚合函数、分组查询来实现复杂的查询需求。
下面通过几个例子来体会连接查询综合应用的强大功能

示例1:计算每条公交线路的司机人数,并显示司机人数大于 3 的分组信息,按司机人数逆序显示
分析:连接驾驶员表、车辆表和线路表,再在此基础上将司机人数大于 3 的分组数据过滤出来

SELECTlineNo '线路号',COUNT(*) '司机数'
FROMline l,driver d,vehicle v
WHEREl.lineID = v.lineID
AND d.driverID = v.driverID
GROUP BYlineNo
HAVING COUNT(*) > 3
ORDER BY司机数 DESC;

执行结果如图

利用聚合函数COUNT()来计算司机数,用GROUP BY以线路号分组,HAVING过滤司机人数大于3的分组数据,ORDER BY的DESC(降序)实现司机数降序的排列
其中还使用了简单的多表连接将驾驶员表、车辆表和线路表三表连接查询

示例2:计算每个订单的金额,要求按照订单下单日期升序和订单金额降序显示订单 ID、订单下单日期、订单金额和顾客姓名
分析:由于需要统计每件商品的销售数量和销售金额,即便某种商品没有被订购过也需要显示,所以可以采用左外连接的方式依次建立商品表和订单明细表的联系

SELECTgoodsName '商品名',SUM(quantity) '销售量',SUM(quantity * unitPrice) '销售金额'
FROMgoods g
LEFT JOIN ordersdetail od ON g.goodsID = od.goodsID
GROUP BYg.goodsID
ORDER BY销售量,
销售金额

执行结果如图

某种商品没有被订购过也需要显示,注意要用外连接。
其中使用了聚合函数SUM()计算销售量与销售金额

连接查询的综合应用就是在连接查询的基础之上灵活使用聚合函数和分组查询以及MySQl函数

MySQL连接查询——连接查询的综合应用相关推荐

  1. mySQL学习记录(局域网连接/基础查询/条件查询/常见函数/窗口函数/表连接/子查询/插修删建表)

    一些基础概念 DB 数据库 存储数据的容器 DBMS 数据库管理系统 又称数据库软件.产品如mysql/oracle/db2/sqlserver SQL 结构化查询语言 是所有的DBMS都使用的一种D ...

  2. python连接MySQL并进行数据查询

    python连接MySQL并进行数据查询 #建立数据库的连接 mydb = mysql.connector.connect(host="0.0.0.0",user="ro ...

  3. mysql多表连接 索引_MySQL多表查询之外键、表连接、子查询、索引

    一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, ...

  4. mysql select符合查询_数据库select group by 和having语句 多表连接查询 复合查询

    1.SELECT --group by 子句 group by子句按照指定的列column_name对表数据进行分组 group by 后面跟的列也叫分组特性列 使用group by后,能选择的列   ...

  5. mysql 连接 选库 查询

    mysql_fetch_row  从结果集中取出一行作为枚举数组 <?php $db_conn=mysql_connect('127.0.0.1','root','123456') or die ...

  6. mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询)

    前文介绍了单表查询:mysql数据库入门教程(4):查询讲解大全 今天介绍下多表查询 一.连接查询 含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询 先送上下面所讲用到的sql脚本 h ...

  7. mysql高级之子查询,多表查询,外连接,集合操作,内部函数与数据控制_月隐学python第24课

    目录 ⼀.⾼级 1.1 ⼦查询 1.2 多表查询 1.3 外连接 1.4 集合操作 1.5 内部函数 ⼆.数据控制 2.1 事务 2.2 授权管理 ⼀.⾼级 1.1 ⼦查询 ⼦查询嵌⼊到其他查询语句中 ...

  8. mysql利用外连接删除数据_MySQL-快速入门(6)连接查询、子查询、正则表达式查询、数据的插入删除更新...

    1.内连接查询:inner join ... on 只有满足条件的记录才能够出现在结果关系中,即完全相等.自连接查询是一种特殊的内连接查询. 2.外连接查询: 1>左外连接 / 左连接:返回包括 ...

  9. 一文完整MySQL连接查询,笛卡尔乘积,内连接外连接交叉连接

    文章目录 笛卡尔乘积 连接查询分类 等值连接 非等值连接 自连接 外连接 交叉连接 连接查询又称为多表查询,当查询的字段来自于多个表时,使用连接查询. 笛卡尔乘积 笛卡尔乘积现象:表1有m行,表2有n ...

  10. mysql 事b务 查询_MySQL进阶学习笔记二(包括连接查询、子查询、联合查询、事务、存储过程)...

    1.高级查询 (1)了解笛卡尔积:笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序 ...

最新文章

  1. WebDriver 登陆 Jsoup抓取内容
  2. linux基础命令 echo
  3. TestBird频现国内手游“盛宴” 开发商互相介绍用得很赞
  4. POJ2669不错的最大流 竞赛问题(枚举King的个数)
  5. linux下的PHP和windows下的php的区别
  6. Assembly.Load()不能加载程序集的问题
  7. JavaScript动态加载js文件
  8. r矢量球坐标系旋度_矢量与场论 | 场论
  9. 函数指针史上最全的介绍
  10. 中国开放教育资源协会
  11. HDMI中所说的EDID是什么
  12. 移动硬盘提示数据错误循环冗余检查要怎么办啊
  13. 对接飞鹅接口一直提示未注册
  14. (八十一)探索hidl-gen使用及IWifi.hal 实现
  15. 5.AVStream和AVCodecParameters
  16. otg usb 定位_USB OTG插入检测识别
  17. 爬虫——爬取网页数据存入表格
  18. Metal 框架之渲染到多个视口
  19. element-ui 带序号表格如何让序号递增
  20. 为期五天的实训总结--Java Web

热门文章

  1. 搭建ipv6有状态dhcp服务器,思科IPv6技术 IPv6有状态自动配置地址
  2. 【泛微E-Mobile】管理员是否可以监控群聊
  3. 2014找工作总结-机会往往留给有准备的人
  4. BlueTooth蓝牙协议规范(四)
  5. idea指定maven的settings文件不生效
  6. 共享网络打印机无法连接计算机,共享打印机连不上的解决方法-电脑自学网
  7. STM32 keyboard USB键盘功能的实现
  8. MATLAB Floor 用法
  9. python中的散点图还可以这么画
  10. 免费AWS EC2实例