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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • IDEA和MySQL数据库建立连接

    IDEA和MySQL数据库建立连接IDEA和MySQL数据库建立连接操作步骤如下:1.打开IDEA软件,点击顶部导航栏的View–>ToolWindows–>Database(或者直接点击右侧边上的Database),在右侧打开的Database框里,点击左上角的+–>DataSource–>MySQL。2.填入自己的MySQL数据库信息(账户默认root,密码是自己设置的),Database里面填写要连接的数据库名称,填好后点击下方的TestConnection。3.这

    2022年7月19日
  • Error:Execution failed for task toolchains\mips64el-linux-android-4.9\prebuilt\windows-x86_64.异常处理

    Error:Execution failed for task toolchains\mips64el-linux-android-4.9\prebuilt\windows-x86_64.异常处理

    2021年3月12日
  • 2022Android SDK下载与安装

    2022Android SDK下载与安装一、下载sdk:https://www.androiddevtools.cn找个合适的位置解压双击“SDKManager.exe”,启动SDKManager安装工具我们可以通过有AndroidSDK的国内镜像服务器来下载安装,这里推荐几个:1、中科院开源协会镜像站地址:IPV4/IPV6:http://mirrors.opencas.ac.cn端口:802、北京化工大学镜像服务器地址:IPv4:http://ubuntu.buct.edu.cn/端口:80IPv

    2022年7月19日
  • tar 命令详解「建议收藏」

    tar 命令详解「建议收藏」tar命令[root@linux~]#tar[-cxtzjvfpPN]文件与目录….参数:-c:建立一个压缩文件的参数指令(create的意思);-x:解开一个压缩文件的参数指令!-t:查看tarfile里面的文件!-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能

    2022年6月5日
  • laravel构造函数和中间件执行顺序问题

    laravel构造函数和中间件执行顺序问题

    2021年10月22日
  • 每天一道算法_4_Hangover

    此系列刚开始两天就被十一假期打断了,去山西玩了几天,今天刚回来,为了弥补一下心里的貌似隐隐作痛的愧疚感,补上一刀。今天的题目是 Hangover,如下: DescriptionHow far can you make a stack of cards overhang a table? If you have one card, you can create a max

    2022年3月10日

发表回复

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

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