--(1)用子查询查询员工“张小娟”所做的订单信息。

SELECT *

FROMorder_masterWHERE saler_no =(SELECTemployee_noFROMemployeeWHERE employee_name = '张小娟');--(2)查询没有订购商品的且在北京地区的客户编号,客户名称和邮政编码,并按邮政编码降序排序。

SELECTcustomer_no, customer_name, zipFROMcustomer xWHERE address = '北京市'

AND NOT EXISTS(SELECT *

FROMorder_master yWHERE x.customer_no =y.customer_no

)ORDER BY zip DESC;--(3)查询订购了“32M DRAM”商品的订单编号,订货数量和订货单价。

SELECTorder_no, quantity, priceFROMorder_detailWHERE product_no =(SELECTproduct_noFROMproductWHERE product_name = '32M DRAM');--(4)查询与员工编号“E2008005”在同一个部门的员工编号,姓名,性别,所属部门。

SELECTemployee_no, employee_name, sex, departmentFROMemployeeWHERE department =(SELECTdepartmentFROMemployeeWHERE employee_no = 'E2008005');--(5)查询既订购了P2005001商品,又订购了P2007002商品的客户编号,订单编号和订单金额

SELECTcustomer_no, order_no, order_sumFROMorder_master xWHERE EXISTS(SELECT *

FROMorder_detail yWHERE x.order_no =y.order_noAND product_no = 'P2005001')AND EXISTS(SELECT *

FROMorder_detail zWHERE x.order_no =z.order_noAND product_no = 'P2007002');--NOT EXISTS VS. NOT IN 写两个然后比较性能--(6)查询没有订购“52倍速光驱”或“17寸显示器”的客户编号,客户名称。

SELECTcustomer_no, customer_nameFROMcustomerWHERE customer_no NOT IN(SELECTcustomer_noFROMorder_masterWHERE order_no IN(SELECTorder_noFROMorder_detailWHERE product_no IN(SELECTproduct_noFROMproductWHERE product_name IN ('52倍速光驱', '17寸显示器')

)

)

);--ORDER BY VS. ALL VS MIN MAX--(7)查询订单金额最高的订单编号,客户姓名,销售员名称和相应的订单金额。

SELECTorder_no

, (SELECTcustomer_nameFROMcustomer yWHERE y.customer_no =x.customer_no

)AScustomer_name

, (SELECTemployee_nameFROMemployeeWHERE employee_no =saler_no

)ASemployee_name, order_sumFROMorder_master xORDER BY order_sum DESCLIMIT1;--IN 与 = 以及 OR--(8)查询订购了“52倍速光驱”商品的订购数量,订购平均价和订购总金额。

SELECT SUM(quantity), AVG(price)

, (SELECTorder_sumFROMorder_master yWHERE y.order_no =x.order_no

)ASorder_sumFROMorder_detail xWHERE product_no =(SELECTproduct_noFROMproductWHERE product_name = '52倍速光驱');--BETWEEN 2 AND 4--(9)查询订购了“52倍速光驱”商品且订货数量界于2~4之间的订单编号,订货数量和订货金额。

SELECTorder_no, quantity, priceFROMorder_detailWHERE product_no =(SELECTproduct_noFROMproductWHERE product_name = '52倍速光驱')AND quantity BETWEEN 2 AND 4;--GROUP BY--(10)在订单主表中查询每个业务员的订单数量

SELECT saler_no, COUNT(*) ASorder_numFROMorder_masterGROUP BYsaler_no;--COUNT(*) VS. COUNT(id) 任何性能对比都是基于特定 的存储引擎!--(11)统计在业务科工作且在1973年或1967年出生的员工人数和平均工资。

SELECT COUNT(employee_no) AS employee_num, AVG(salary)FROMemployeeWHERE department = '业务科'

AND YEAR(birthday) IN (1973, 1967);--(12)在订单明细表中统计每种商品的销售数量和金额,并按销售金额的升序排序输出。

SELECT product_no, SUM(quantity) ASquantity

,SUM(quantity * price) AStotalFROMorder_detailGROUP BYproduct_noORDER BYtotal;--(13)统计客户号为“C20050001”的客户的订单数,订货总额和平均订货金额

SELECT COUNT(*), SUM(order_sum)

,AVG(order_sum)FROMorder_masterWHERE customer_no = 'C2005001';--(14)统计每个客户的订单数,订货总额和平均订货金额。

SELECT customer_no, COUNT(*), SUM(order_sum)

,AVG(order_sum)FROMorder_masterGROUP BYcustomer_no;--(15)查询订单中至少包含3种(含3种)以上商品的订单编号及订购次数,且订购的商品数量在3件(含3件)以上。

SELECT order_no, COUNT(*)FROMorder_detailGROUP BYorder_noHAVING COUNT(DISTINCT product_no) >= 3

AND SUM(quantity) >= 3;--(16)查找订购了“32M DRAM”的商品的客户编号,客户名称,订货总数量和订货总金额。

SELECTcustomer_no

, (SELECTcustomer_nameFROMcustomer yWHERE y.customer_no =x.customer_no

)AScustomer_name

, (SELECT SUM(quantity)FROMorder_detail zWHERE z.order_no =x.order_no

)AStotal_quantity, order_sumFROMorder_master xWHERE order_no IN(SELECTorder_noFROMorder_detailWHERE product_no =(SELECTproduct_noFROMproductWHERE product_name = '32M DRAM')

);--(17)查询每个客户订购的商品编号,商品所属类别,商品数量及订货金额,结果显示客户名称,商品所属类别,商品数量及订货金额,并按客户编号升序和按订货金额的降序排序输出。

SELECT(SELECTcustomer_nameFROMcustomer nWHERE n.customer_no =m.customer_no

)AScustomer_name, product_class, quantity, priceFROM(SELECT(SELECTcustomer_noFROMorder_master xWHERE x.order_no =z.order_no

)AScustomer_no

, (SELECTproduct_classFROMproduct yWHERE y.product_no =z.product_no

)ASproduct_class, quantity, priceFROMorder_detail z

) mORDER BY customer_no, price DESC;--(18)按商品类别查询每类商品的订货平均单价在280元(含280元)以上的订货总数量,订货平均单价和订货总金额。

SELECT product_class, SUM(quantity), AVG(price)

,SUM(quantity *price)FROMorder_detail xLEFT JOIN product y ON x.product_no =y.product_noGROUP BYproduct_classHAVING AVG(price) >= 280;--(19)查找至少有2次销售的业务员名称和销售日期。

SELECT(SELECTemployee_nameFROMemployeeWHERE employee_no =saler_no

)ASemployee_name, order_dateFROMorder_master xWHERE x.saler_no IN(SELECTy.saler_noFROMorder_master yGROUP BYsaler_noHAVING COUNT(*) >= 2)ORDER BYsaler_no;--(20)查询销售金额最大的客户名称和总货款额

SELECT(SELECTcustomer_nameFROMcustomer yWHERE y.customer_no =x.customer_no

)AS customer_name, SUM(order_sum) AS sum

FROMorder_master xGROUP BYcustomer_noORDER BY sum DESCLIMIT1;--(21)查找销售总额小于5000元的销售员编号,姓名和销售额

SELECT x.employee_no, employee_name, SUM(order_sum)FROMemployee xLEFT JOIN order_master y ON x.employee_no =y.saler_noGROUP BYemployee_noHAVING SUM(order_sum) < 5000

OR SUM(order_sum) IS NULL;--(22)查找至少订购了3种商品的客户编号,客户名称,商品编号,商品名称,数量和金额。

SELECTe.customer_no, e.customer_name, r.product_no, r.product_name, quantity

, priceFROMorder_detail qLEFT JOIN order_master w ON w.order_no =q.order_noLEFT JOIN customer e ON e.customer_no =w.customer_noLEFT JOIN product r ON r.product_no =q.product_noWHERE q.order_no IN(SELECTt.order_noFROMorder_detail tGROUP BYt.order_noHAVING COUNT(*) >= 3)ORDER BYw.customer_no;--待修改,剪掉冗余中间表、无用列,用 EXISTS 重写--(23)查找同时订购了商品为“P2007002”和商品编号为“P2007001”的商品的客户编号,客户姓名,商品编号,商品名称和销售数量,按客户编号排序输出。

SELECTa.customer_no, a.customer_name, e.product_no, e.product_name, d.quantityFROMcustomer aLEFT JOIN order_master s ON a.customer_no =s.customer_noLEFT JOIN order_detail d ON s.order_no =d.order_noLEFT JOIN product e ON e.product_no =d.product_noWHERE a.customer_no IN(SELECTcustomer_noFROM(SELECTx.customer_no, x.customer_name, m.product_no, m.product_name, quantityFROMcustomer xLEFT JOIN order_master y ON x.customer_no =y.customer_noLEFT JOIN order_detail z ON z.order_no =y.order_noLEFT JOIN product m ON m.product_no =z.product_noWHERE m.product_no ="P2007001"GROUP BYx.customer_noUNION ALL

SELECTx.customer_no, x.customer_name, m.product_no, m.product_name, quantityFROMcustomer xLEFT JOIN order_master y ON x.customer_no =y.customer_noLEFT JOIN order_detail z ON z.order_no =y.order_noLEFT JOIN product m ON m.product_no =z.product_noWHERE m.product_no ="P2007002"GROUP BYx.customer_no

) pGROUP BYp.customer_noHAVING COUNT(*) >= 2)AND e.product_no IN("P2007001", "P2007002")ORDER BYa.customer_no;--(24)计算每一商品每月的销售金额总和,并将结果首先按销售月份然后按订货金额降序排序输出。

SELECT MONTH(order_date) AS month, x.product_no, product_name

,SUM(quantity * price) AStotoalFROMproduct xLEFT JOIN order_detail y ON x.product_no =y.product_noLEFT JOIN order_master z ON z.order_no =y.order_noGROUP BY MONTH(order_date), x.product_noORDER BY MONTH(order_date), totoal DESC;--(25)查询订购了“键盘”商品的客户姓名,订货数量和订货日期

SELECT(SELECTcustomer_nameFROMcustomer zWHERE z.customer_no =y.customer_no

)AScustomer_name, quantity, order_dateFROMorder_detail xLEFT JOIN order_master y ON x.order_no =y.order_noWHERE product_no =(SELECTproduct_noFROMproductWHERE product_name ="键盘"

);--(26)查询每月订购“键盘”商品的客户名称。

SELECT(SELECTcustomer_nameFROMcustomer zWHERE z.customer_no =y.customer_no

)AS customer_name, MONTH(order_date) AS month

FROMorder_detail xLEFT JOIN order_master y ON x.order_no =y.order_noWHERE product_no =(SELECTproduct_noFROMproductWHERE product_name ="键盘"

)ORDER BYorder_date;--(27)查询至少销售了5种商品的销售员编号,姓名,商品名称,数量及相应的单价,并按销售员编号排序输出。

SELECTemployee_no, employee_name, product_name, quantity, priceFROMemployee xLEFT JOIN order_master y ON x.employee_no =y.saler_noLEFT JOIN order_detail z ON z.order_no =y.order_noLEFT JOIN product m ON m.product_no =z.product_noWHERE(SELECT COUNT(DISTINCTproduct_no)FROMorder_master wLEFT JOIN order_detail e ON w.order_no =e.order_noWHERE w.saler_no =x.employee_no

)>= 5

ORDER BYemployee_no;--(28)查询没有订购商品的客户编号和客户名称。

SELECTcustomer_no, customer_nameFROMcustomer xWHERE NOT EXISTS(SELECT *

FROMorder_master yWHERE y.customer_no =x.customer_no

)

MySQL怎么用x28改变颜色_MySQL SELECT练习题*28相关推荐

  1. mysql文件导出NULL值处理_Mysql select into outfile NULL值导出的处理方法

    目录 1简介... 1 2 准备... 1 2.1 环境说明... 1 3 安装... 2 4 配置... 2 5 使用... 2 5.1 验证实验... 2 5.2 问题分析... 4 6 延展.. ...

  2. mysql查询单表的销售额_MYSQL select语句的单表查询

    MYSQL select语句的单表查询 发布时间:2020-05-29 13:19:48 来源:亿速云 阅读:131 作者:Leah 这篇文章运用了实例代码展示select语句的单表查询的用法,代码非 ...

  3. mysql上面waring删掉吗_MySQL经典练习题:数据插入,更新,删除

    1. 创建数据表P_list(误将death设置成了not null) mysql> create table P_list -> (name varchar(20) not null, ...

  4. mysql 执行计划 改变_数据量增加导致mysql执行计划改变解决_MySQL

    bitsCN.com 数据量增加导致mysql执行计划改变解决 收到运维同学电话,mysql服务器连接数满了,登录服务器查看,确实满了,好吧,首先增加连接数到2500,暂时提供对外服务.连接继续升高, ...

  5. mysql 临时索引_MySQL select in 语句未使用索引,产生磁盘临时表,导致 crash

    1. 问题描述 业务执行一个非常简单的 SQL,结果导致 MySQL crash,并且每次都能复现. MySQL 版本: Percona Server for MySQL 5.7.20 SQL 语句: ...

  6. mysql longtext可以存储多少文字_MySQL 四万字精华总结 + 面试100 问,和面试官扯皮绰绰有余(收藏系列)

    作者:派大新 链接:https://juejin.im/post/5f0d4fadf265da22f3250eaa 写在之前:不建议那种上来就是各种面试题罗列,然后背书式的去记忆,对技术的提升帮助很小 ...

  7. ANSI最全介绍linux终端字体改变颜色等

    ANSI最全介绍linux终端字体改变颜色等 ANSI转义序列 维基百科,自由的百科全书 由于国内不能访问wiki而且国内关于ANSI的介绍都是简短的不能达到,不够完整所以转wiki到此博客,方便国内 ...

  8. mysql语句查询今天的数据_mysql查询当天所有数据sql语句

    mysql查询当天的所有信息: select * from test where year(regdate)=year(now()) and month(regdate)=month(now()) a ...

  9. 随机改变颜色返回#+...样式的值

    刚刚发了一篇博文,是讲随机改变颜色的,那个是返回的rgb,后面还可以添加透明度什么的,表示颜色的方式出了rgb还有#+... 这次返回的就是#号开头的样式, 源代码:(需引入jquery.js)git ...

最新文章

  1. JavaScript的toString()和valueOf()函数
  2. Redis操作Set类型
  3. 牛客多校2 - Greater and Greater(bitset优化暴力)
  4. python urlretrieve_使用urllib库的urlretrieve()方法下载网络文件到本地的方法
  5. Node.js 中文乱码解决
  6. 如何安装旧版iOS软件?
  7. 西电操作系统:进程程序复习
  8. C# 获取打印机状态
  9. 对其他小组的评价和建议
  10. 在网页上面录制声音(chrome、firefox浏览器可用)
  11. python编写视频播放器_python十几行代码实现简单播放器
  12. 微信的API到底是什么?
  13. linux脚本判断文件属性,linux的shell脚本中的逻辑判断、文件目录属性判断、if特殊用法、case判断...
  14. TI达芬奇系列TMS320DM8168浮点DSP C674x + ARM Cortex-A8高性能视频处理器
  15. uboot 引导linux内核 参数mem=size,Uncompressing Linux..... done, booting the kernel.
  16. 基于微信维修报修物业小程序系统设计与实现 开题报告
  17. 空白符号复制?空白符合怎么打?空字符和空白字符
  18. 亚马逊企业文化交流分享
  19. php多进程更新微信用户信息,php之swoole多进程发送微信模板消息
  20. 大一期末作孽(python实现图片修改器)

热门文章

  1. 关于性能测试中使用物理机和虚拟机的区别
  2. 美国大学计算机科学与工程,美国大学研究生专业排名:计算机科学与工程
  3. 【华为OD机试真题2023 JAVA】不含101的数
  4. 高光谱图像去噪相关资源汇总(常用对比算法+数据集+评价指标)
  5. FZU-2268 Cutting Game
  6. 华为云ModelArts的使用教程(超详细)
  7. javascript百炼成仙 第一章 掌握JavaScript基础1.6 叶老
  8. 找不到msvcr110.dll
  9. 作业4: 用户体验分析——以 “师路南通网站” 为例
  10. php.ini afm,nanoscope analysis(AFM数据处理软件) v1.5 官方安装免费版(附安装教程)