MySql必知必会实战练习(二)数据检索

在上篇博客MySql必知必会实战练习(一)表创建和数据添加中完成了各表的创建和数据添加,下面进行数据检索和过滤操作。1.Select子句使用顺序select>DISTINCT>f

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

  在上篇博客MySql必知必会实战练习(一)表创建和数据添加中完成了各表的创建和数据添加,下面进行数据检索和过滤操作。

1. Select子句使用顺序

  select—>DISTINCT—>from—>where—>GROUP BY—>HAVING—>ORDER BY—>LIMIT

(1)DISTINCT

  select verd_id from products;

MySql必知必会实战练习(二)数据检索

  使用DISTINCT检索出不同值的列表
  select DISTINCT verd_id from products;

MySql必知必会实战练习(二)数据检索

(2)Group By

  首先看下下面3个查询语句的结果:

  select count(*) from products;
  select * from products where verd_id = 1003;
  select count(*) from products where verd_id = 1003;

(1)MySql必知必会实战练习(二)数据检索(2)MySql必知必会实战练习(二)数据检索 (3) MySql必知必会实战练习(二)数据检索

  (1)表示products表的总项数14

  (2)列出了verd_id为1003的所有项

  (3)显示verd_id为1003的总项数7

  再看下面语句的输出结果:

  select verd_id, count(*) as num_prods from products GROUP BY verd_id;

MySql必知必会实战练习(二)数据检索

  结果一目了然,分别对verd_id进行分组,并显示各组的总项数。

  注:如果再select中使用表达式,则必须再GROUP BY字句中指定相同的表达式,不能使用别名。

(3)HAVING

  HAVING语句主要是对分组语句进行过滤,WHERE过滤指定的是行而不是分组,事实上,WHERE没有分组的概念

  HAVING与WHERE的唯一差别就是WHERE过滤行,HAVING过滤分组

  select verd_id, count(*) as num_prods from products GROUP BY verd_id HAVING count(*)>2;

  MySql必知必会实战练习(二)数据检索

  select verd_id, count(*) as num_prods from products GROUP BY verd_id HAVING verd_id = 1003;

  MySql必知必会实战练习(二)数据检索

(4)ORDER BY

  select cust_name,cust_address,cust_zip from customers;

  MySql必知必会实战练习(二)数据检索

  对cust_zip排序

  select cust_name,cust_address,cust_zip from customers ORDER BY cust_zip;

  MySql必知必会实战练习(二)数据检索

  对多列进行排序

  select cust_name,cust_address,cust_zip from customers ORDER BY cust_address,cust_zip;

  MySql必知必会实战练习(二)数据检索

  指定排序方向:默认升序(ASC),为了进行降序排序,必须指定DESC关键字

  select cust_name,cust_address,cust_zip from customers ORDER BY cust_zip DESC;

  MySql必知必会实战练习(二)数据检索

(5)LIMIT

  LIMIT关键子对输出的行数限制,指定其实行和行数

  select cust_name,cust_address,cust_zip from customers ORDER BY cust_zip DESC LIMIT 2,4;

  MySql必知必会实战练习(二)数据检索

(6)综合使用

  select verd_id, count(*) as num_prods from products GROUP BY verd_id HAVING count(*) > 0 ORDER BY verd_id DESC LIMIT 1,3;

  MySql必知必会实战练习(二)数据检索

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120054.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • AFN上传数组

    AFN上传数组

    2021年6月8日
    106
  • 全国计算机等级考试二级Python真题及解析(5)_计算机二级有必要考吗

    全国计算机等级考试二级Python真题及解析(5)_计算机二级有必要考吗【纯干货】2021全国计算机等级考试Python二级编程题真题详解(上)相较于大多数经验分享类文章,本篇重点在于总结Python二级考试中的编程题(占60分)题型范围及解题技巧,让Python小白能在一周内掌握绝大多数编程题的解题方法,顺利考取证书,为未来应聘岗位添砖加瓦!本文的最终的目的是得到一份能够涵盖编程题部分所有考点的知识点总结脑图!!!

    2022年8月30日
    2
  • Adobe Flash Player 未能正常运行问题「建议收藏」

    Adobe Flash Player 未能正常运行问题「建议收藏」问题描述笔者使用的QQ浏览器在打开含有Flash的网页时经常出现如下问题:提示:您的AdobeFlashPlayer版本太旧,可能会有安全性风险。建议您升级到最新版本。随后出现:提示:必要的系统组件未能正常运行,请修复AdobeFlashPlayer点击立即修复,安装最新的AdobeFlashPlayer,结果没有任何作用。-原因探寻按照网上的现有方法,都说是因为FlashHelperService进程没能正常启动,或者是直接把FlashHelperS

    2022年5月20日
    178
  • Linux中卸载Jenkins命令

    Linux中卸载Jenkins命令卸载1、rpm卸载rpm-ejenkins2、检查是否卸载成功rpm-qljenkins3、彻底删除残留文件:find/-inamejenkins|xargs-n1000rm-rf

    2022年5月4日
    38
  • 网站响应时间过长的原因及解决方法

    网站响应时间过长的原因及解决方法

    2021年10月14日
    186
  • icmp协议是tcp还是udp_icmp协议使用udp

    icmp协议是tcp还是udp_icmp协议使用udp2018年4月11日11:41:29更新工具发包触发点结局traceroute初始发udp包ttl递增,icmp每一跳报ttl超时udp端口不可达tracert初始发icmprequest包触发点:ttl递增,icmp超时icmpechoreply注:触发点都是根据ttl超时来检测参考项traceroutetracert…

    2025年11月29日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号