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

1. Select子句使用顺序

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

(1)DISTINCT

  select verd_id from products;

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

(2)Group By

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

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

(1)(2) (3)

  (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;

  结果一目了然,分别对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;

  

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

  

(4)ORDER BY

  select cust_name,cust_address,cust_zip from customers;

  

  对cust_zip排序

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

  

  对多列进行排序

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

  

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

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

  

(5)LIMIT

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

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

  

(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必知必会实战练习(二)数据检索的更多相关文章

  1. MySql必知必会实战练习(三)数据过滤

    在之前的博客MySql必知必会实战练习(一)表创建和数据添加中完成了各表的创建和数据添加,MySql必知必会实战练习(二)数据检索中介绍了所有的数据检索操作,下面对数据过滤操作进行总结. 1. whe ...

  2. mysql必知必会

    春节放假没事,找了本电子书mysql必知必会敲了下.用的工具是有道笔记的markdown文档类型. 下面是根据大纲已经敲完的章节,可复制到有道笔记的查看,更美观. # 第一章 了解SQL## 什么是S ...

  3. 《MySQL必知必会》整理

    目录 第1章 了解数据库 1.1 数据库基础 1.1.1 什么是数据库 1.1.2 表 1.1.3 列和数据类型 1.1.4 行 1.1.5 主键 1.2 什么是SQL 第2章 MySQL简介 2.1 ...

  4. 《mysql 必知必会》 速查指南

    目录 增 添加一整行 插入多行 删 删除指定行 删除所有行 改 查 简单检索 结果筛选 结果排序 结果过滤 创建字段 处理函数 数据分组 其他高级用法 文章内容均出自 <MySQL 必知必会&g ...

  5. 《MySQL 必知必会》读书总结

    这是 <MySQL 必知必会> 的读书总结.也是自己整理的常用操作的参考手册. 使用 MySQL 连接到 MySQL shell>mysql -u root -p Enter pas ...

  6. mysql学习--mysql必知必会1

     例如以下为mysql必知必会第九章開始: 正則表達式用于匹配特殊的字符集合.mysql通过where子句对正則表達式提供初步的支持. keywordregexp用来表示后面跟的东西作为正則表達式 ...

  7. 《MySQL必知必会》[01] 基本查询

    <MySQL必知必会>(点击查看详情) 1.写在前面的话 这本书是一本MySQL的经典入门书籍,小小的一本,也受到众多网友推荐.之前自己学习的时候是啃的清华大学出版社的计算机系列教材< ...

  8. 《SQL必知必会》学习笔记二)

    <SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...

  9. mysql必知必会系列(一)

    mysql必知必会系列是本人在读<mysql必知必会>中的笔记,方便自己以后查看. MySQL. Oracle以及Microsoft SQL Server等数据库是基于客户机-服务器的数据 ...

随机推荐

  1. WPF MVVM模式下ComboBox级联效果 选择第一项

    MVVM模式下做的省市区的级联效果.通过改变ComboBox执行命令改变市,区. 解决主要问题就是默认选中第一项 1.首先要定义一个属性,继承自INotifyPropertyChanged接口.我这里 ...

  2. 把 html标签转化为 html标签代码

    HttpUtility.HtmlEncode(table.Rows[0]["footnote"].ToString());

  3. python中多重继承与获取对象

    1.python中多重继承 除了从一个父类继承外,Python允许从多个父类继承,称为多重继承. 多重继承的继承链就不是一棵树了,它像这样: class A(object): def __init__ ...

  4. 理解 $nextTick 的作用

    有同学在看 Vue 官方文档时,对 API 文档中的 Vue.nextTick 和 vm.$nextTick 的作用不太理解. 其实如果看一下深入响应式原理 - vue.js中的有关内容,可能会有所理 ...

  5. java没有指针

    先说结论:java没有指针,它使用对象引用来替代指针 备注:c/c++的引用和java的引用完全不是一个东西 c/c++的引用是同一块内存的不同名字 java的引用指向一个对象,引用本身也占用了内存 ...

  6. maven更换下载镜像源-解决下载慢问题

    Maven是当前流行的项目管理工具,但官方的库在国外经常连不上,连上也下载速度很慢.国内oschina的maven服务器很早之前就关了.今天发现阿里云的一个中央仓库,亲测可用. 1 <mirro ...

  7. Javascript -- 级联菜单, javascript解析xml文件

    1. cities.xml 保存省份和城市 <?xml version="1.0" encoding="GB2312"?> <china> ...

  8. kolla all-in-one 安装

    http://docs.openstack.org/developer/kolla/ 使用了Docker containers and Ansible playbooks 目前在Fedora/Ubun ...

  9. spring3: 内置Resource实现

    4.2  内置Resource实现 4.2.1  ByteArrayResource ByteArrayResource代表byte[]数组资源,对于“getInputStream”操作将返回一个By ...

  10. Windows下下载及安装numpy、pandas及简单应用

    下载numpy 下载地址 https://pypi.python.org/pypi/numpy 进入网站,下载和自己电脑及电脑中安装的python匹配的numpy版本.我的电脑是Win 10 x64位 ...