MySQL笔记——DQL查询数据

DQL查询包括以下这些内容:
• 基础查询
• 条件查询(WHERE)
• 分组查询(GROUP BY)
• 排序查询(ORDER BY)
• 分页查询(LIMIT)

(一)、基础查询

1、查询多个字段
SELECT 字段列表 FROM 表名;
SELECT * FROM 表名;

当前表中数据如下:
在这里插入图片描述

2、去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;

直接查询表中address结果如下,可以看出有重复的地址信息出现:
在这里插入图片描述

去除重复记录
在这里插入图片描述

3、起别名
AS: AS也可以省略
在这里插入图片描述
在这里插入图片描述

(二)条件查询

1、条件查询语法
SELECT 字段列表 FROM 表名 WHERE 条件列表;

2、条件在这里插入图片描述

查询年龄大于30的SELECT id,name,age,sex,address,math, english,hire_date from stu 	WHERE age>30;

在这里插入图片描述

-- 查询年龄大于等于30岁的信息SELECT id,name,age,sex,address,math, english,hire_date from stu WHERE age>=30;

在这里插入图片描述

-- 查询年龄大于等于30岁并且年龄小于等于50的信息SELECT id,name,age,sex,address,math, english,hire_date from stu WHERE age>=30 AND age<=50;

在这里插入图片描述

-- 查询年龄不等于30的SELECT id,name,age,sex,address,math, english,hire_date from stu WHERE age!=30;

在这里插入图片描述

-- 查询英语为null的
-- 注意:null值的比较不能使用 = !=,需要使用  is    is not
SELECT id,name,age,sex,address,math, english,hire_date from stu WHERE english is null;

在这里插入图片描述

LIKE 占位符:(1) _:代表单个任意字符(2)%:代表任意个数字符-- 查询姓‘马’的
SELECT id,name,age,sex,address,math,english,hire_date FROM stu WHERE name like '马%';

在这里插入图片描述

-- 查询第二个字是‘花’的
SELECT id,name,age,sex,address,math,english,hire_date FROM stu WHERE name like '_花%';

在这里插入图片描述

-- 查询名字中有‘运’的
SELECT id,name,age,sex,address,math,english,hire_date FROM stu WHERE name like '%运%';

在这里插入图片描述

(三)排序查询

1、排序查询语法SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2]…;排序方式:ASC:升序排列(默认)DESC:降序排列注意: 如果有多个排序条件,当前边的条件值一样时,才会根据第二条进行排序-- 查询年龄按照升序
SELECT id,name,age,sex,address,math,english,hire_date FROM stu ORDER BY age ASC;

在这里插入图片描述

-- 查询按照数学成绩降序排列
SELECT id,name,age,sex,address,math,english,hire_date FROM stu ORDER BY math DESC;

在这里插入图片描述

-- 查询,按数学成绩降序排列,如果数学成绩一样,再按照英语升序排列
SELECT id,name,age,sex,address,math,english,hire_date FROM stu ORDER BY math DESC,english ASC;

在这里插入图片描述

(四)聚合函数

1、聚合函数的概念将一列数据作为一个整体,进行纵向计算。2、聚合函数的分类:

在这里插入图片描述

3、聚合函数的语法SELECT 聚合函数名(列名) FROM 表;注意:null值不参与所有聚合函数运算。-- 统计指定列的数量
SELECT count(name) FROM stu;

在这里插入图片描述

english列中有一个数据为null,所以统计数量为9,因此,统计数据时要选用不为null的列。推荐直接在括号内写*

在这里插入图片描述

-- 查询数学成绩最高的
SELECT max(math) FROM stu;

在这里插入图片描述

-- 查询数学成绩最低的
SELECT min(math) FEOM stu;

在这里插入图片描述

-- 求数学成绩总和
SELECT sum(math) FEOM stu;

在这里插入图片描述

-- 数学成绩平均值
SELECT avg(math) FEOM stu;

在这里插入图片描述

(五)分组查询

1、分组查询语句
SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];
注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义。where和having的区别:(1)执行的时机不一样:where是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤(2)可判断的条件不一样:where不能对聚合函数进行判断,having可以。执行顺序:where>聚合函数>having查询男女生各自的数学平均分
SELECT avg(math) FROM stu GROUP BY sex;

在这里插入图片描述

查询男女生各自数学平均分,以及各自人数
SELECT avg(math),count(*) FROM stu GROUP BY sex;

在这里插入图片描述

查询男女生各自数学平均分,以及各自人数,要求:分数低于70不参与分组
SELECT avg(math),count(*) FROM stu WHERE math>=70 GROUP BY sex;

在这里插入图片描述

查询男女生各自数学平均分,以及各自人数,要求:分数低于70不参与分组,分组之后人数大于两个的。
SELECT avg(math),count(*) FROM stu WHERE math>=70 GROUP BY sex HAVING count(*)>2;

在这里插入图片描述

(六)分页查询

1、分页查询语法SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询条目数;起始索引:从0开始计算公式:起始索引=(当前页码-1) * 每页显示的条数提示:(1)分页查询limit是MySQL数据库的方言(2)Oracle分页查询使用rownumber(3)SQL server分页查询使用top从0开始查询3条数据
SELECT id,name,age,sex,address,math,english,hire_date FROM stu LIMIT 0,3;

在这里插入图片描述

每页显示三条数据,查询第一页数据
SELECT id,name,age,sex,address,math,english,hire_date FROM stu LIMIT 0,3;

在这里插入图片描述

每页显示三条数据,查询第二页数据
SELECT id,name,age,sex,address,math,english,hire_date FROM stu LIMIT 3,3;

在这里插入图片描述

每页显示三条数据,查询第三页数据
SELECT id,name,age,sex,address,math,english,hire_date FROM stu LIMIT 6,3;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433684.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++两个vector合并_数据结构——算法初步(4)——合并排序算法

&#xfeff;从之前的学习可以看到&#xff0c;对大型vectory要求的排序&#xff0c;选择排序算法显然不符合要求&#xff0c;因为运行时间与输入问题规模大小的平方成比例增加&#xff0c;对于以线性顺序处理向量的元素的大多数排序算法也是如此。 所以要采用不同的方法来开发…

asterisk 互联

如上图所示&#xff0c;两个sip客户端分别注册在A,B两个asterisk服务器下&#xff0c;让A和B通过各自的asterisk服务器来相互通信。 xlite A的账号为2001&#xff0c;xlite B的账号为5001 asterisk A的sip.conf如下配置&#xff1a; [general] contextunauthenticated allow…

dll文件懒加载_一步步学习NHibernate(5)——多对一,一对多,懒加载(2)

请注明转载地址&#xff1a;http://www.cnblogs.com/arhat通过上一章的学习&#xff0c;我们建立了Student和Clazz之间的关联属性&#xff0c;并从Student(many)的一方查看了Clazz的信息&#xff0c;同时我们使用了懒加载技术和立即执行的方式来实现了对象的关联查询&#xff0…

python代码加密 混淆_Python程序的混淆和加密

混淆 为了增加代码阅读的难度, 源代码的混淆非常必要, 一个在线的Python代码混淆网站. 如果你觉得有用, 可以购买离线版本. 同时需要注意的是, 这个混淆其实还是被很多人怀疑的, 因为即使混淆了, 也没有改变代码的结构. 所以, 必要的话, 在编程的时候, 可以故意做点提高逆向难度…

[活动通知]Nanjing GDG 2013年4月活动

致各位亲爱的 Google 技术爱好者 很高兴的通知各位朋友&#xff0c;Nanjing GDG 将在本周日 (04/21) 举办我们 Nanjing GDG 的 4月份活动&#xff0c;热烈欢迎大家报名参加。 主题&#xff1a;利用开放社区和代码库来构建 Android 应用 时间&#xff1a; 4月21 日 (周日) 下午 …

python linux运维教程 推荐_Linux运维人员成长之路学习书籍推荐

原标题&#xff1a;Linux运维人员成长之路学习书籍推荐一、入门书&#xff1a;《鸟哥的私房菜(基础篇)》《鸟哥的私房菜(服务篇)》《Linux命令行与Shell脚本编程大全(第2版)》《UNIX/Linux 系统管理技术手册》《UNIX编程艺术》二、计算机及操作系统原理书&#xff1a;《深入理解…

MySQL笔记——外键约束和表关系(一对一,多对一,多对多)

一、外键约束 概念&#xff1a;外键用来让两个表的数据之间建立链接&#xff0c;保证数据的一致性和完整性。语法&#xff1a;&#xff08;1&#xff09;添加约束-- 创建表是添加外键约束CREATE TABLE 表名(列名 数据类型,…[CONSTRAINT] [外键名称] FOREIGN KEY(外键列名) REF…

asterisk 学习笔记1

一&#xff1a; Asterisk为特定的目标指定了一些extension名称。 i:Invalid s:Start h:Hangup t:Timeout T:AbsoluteTimeout o:Operator 一般常用的是i和t 二&#xff1a; asterisk拨号方案的调试可以用NoOp()函数&#xff0c;这个函数什么也不做&#xff0c;…

hashCode()方法的作用使用分析

一直以来都想写篇文章来说明下hashCode的作用以及相关的知识&#xff0c;许久没动笔&#xff0c;最近找了点资料&#xff0c;自己整理了一下&#xff0c;于是就诞生了下面的东西&#xff01; (1)前言&#xff0c;想要明白hashCode的作用&#xff0c;你必须要先知道Java中的集合…

仿个人税务 app html5_【注意】你下载的可能是个假的个税App

新个税法从1月初开始实施。国家税务总局推出“个人所得税”APP&#xff0c;方便纳税人线上填报资料进行专项抵扣。几天来&#xff0c;这款APP的下载量和注册量大幅增长。随之而来的是&#xff0c;很多商业公司制作的各类“个税”APP也成为热门。这其中有不少纯属蹭热点&#xf…

MySQL笔记——多表查询

多表查询不能使用 SELECT * from emp, dept; 会产生笛卡尔积。 笛卡尔积&#xff0c;有A&#xff0c;B两个集合&#xff0c;A中有5条信息&#xff0c;B中有4条信息&#xff0c;那么查询结果就是5*420条一、内连接查询 -- 隐式内连接SELECT 字段列表 FROM 表1,表2,… WHERE 条件…

遇见王沥川的人生感悟_23岁酱油泡饭默默无闻,31岁逆袭人生,王彦霖有何魅力?...

文/小白说娱S姐 原创精品&#xff0c;请勿转载如果兜里只剩下1块钱&#xff0c;生活所迫你会怎样过&#xff1f;王彦霖23岁刚毕业熬过了1元危机&#xff0c;他永远都不会想到当年咬牙坚持熬成就了如今的综艺诸葛。《元气满满的哥哥》连播六期多次排名第一&#xff0c;成为芒果台…

antd vue form 手动校验_参与《开课吧》vue训练营笔记(Day1)

大神说的目标&#xff1a;Vue 挑战20k组件间通信component 官网 详解组件间的传递方式&#xff1a;父传子 直接属性传递子传父 this.$emit 时间传递兄弟组件 利用父组件搭桥组件和子孙 provide / inject子孙 -> 祖先 this.$dispatch 或provide 获取组件元素实例$listeners $…

细学PHP 14 mysql-4

预留转载于:https://www.cnblogs.com/cnmice/archive/2013/04/17/3027102.html

Asterisk针对Mysql的extconfig.conf配置

Asterisk针对Mysql的extconfig.conf配置&#xff0c;这其中涉及到的表的structure [setting] sipusers > mysql,general,sip_buddies sippeers > mysql,general,sip_buddies queues > mysql,general,queue_table queue_members >mysql,general,queue_member_tabl…

ipfs 云服务器_IPFS加速云服务生机和分布式存储

如果能把一个安卓系统或IOS系统安装到分布式存储里&#xff0c;不管人们在做什么&#xff0c;各项数据都可以通过面部识别就可以确认ID&#xff0c;数据的响应性快&#xff0c;安全性和便捷性更高。IPFS的节点上&#xff0c;未来访问网站不再需要HTTP&#xff0c;而是IPFS。分布…

MySQL笔记——打开日志

在my.ini文件中输入如下命令&#xff1a;log_outputFILE general_logon general_log_file"D:\\SoftwareTools\\Mysql\\mysqllog\\mysql.log" slow_query_logon long_query_time 2 slow_query_log_file"D:\\SoftwareTools\\Mysql\\mysqllog\\mysql_slow.log"…

链表怎么输出最后一个元素无空格_剑指offer系列----从尾到头打印链表

从尾到头打印链表信息卡片时间&#xff1a;2020-03-23题目&#xff1a;从尾到头打印链表tag&#xff1a;list题目描述输入一个链表&#xff0c;按链表从尾到头的顺序返回一个 ArrayList。01调用 reverse 函数解题思路这是一种简单粗暴的解法。先遍历一遍链表&#xff0c;在遍历…

a20_v2.0_k70运行在xhda20开发板

修改sys_config.fex文件两个地方 [clock] pll3 297 pll4 300 pll6 600 pll7 297 pll8 336 [dram_para] dram_baseaddr 0x40000000 dram_clk 408 d…

EntiyFramework :Update model from database引起的两个问题

EntiyFramework一大特点就是Code first&#xff0c;但难免有时候因特殊原因需要Update model from database。此次使用该功能时遇到两个问题&#xff0c;且记之。 [问题一] Error 3027: No mapping specified for the following EntitySet/AssociationSet - XXXXXXX. [起因] 在…