day03_DQL查询表中的数据(简单丶条件丶排序)①

数据准备

在学习DQL之前,导入SQL脚本,准备如下所示 四张表

day03_DQL查询表中的数据(简单丶条件丶排序)①

DQL 查询表中的数据

DQL就是数据查询语言,只是一种显示数据的方式。数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端。每执行完一个子句就会产生一个虚拟的表,后续子句都是在前面产生的虚拟表上操作 

简单查询

查询表中列的数据 , 如果查询所有字段,则可以使用*来替代字段列表。(不建议使用)  

语法:select 查询列表 from 表名;

特点:

  • select 后面的查询列表是需要显示的列表,查询的结果集 是一个虚拟表
  • select后面跟的查询列表,可以有多个部分组成,中间用逗号隔开。例如:select 字段1,字段2,表达式 from 表;

执行顺序

  • 首先定位表是否存在(from子句) ,如果表存在则 显示出要查询的查询列表 (select子句)

查询列表可以是:字段、表达式、常量、函数等

如果查询的数据不是来自表中,则可以不要写from 表名

day03_DQL查询表中的数据(简单丶条件丶排序)①

查询表中的指定列

day03_DQL查询表中的数据(简单丶条件丶排序)①

清除重复值

查询指定列并且结果不出现重复数据 。distinct关键字只能出现在所有字段之前,并且把后面的出现的字段当做一个整体

语法:SELECT DISTINCT 字段名 FROM 表名;

day03_DQL查询表中的数据(简单丶条件丶排序)①

查询结果拼接算 

mysql中+的作用:

  • 两个操作数都是数值型,正常运算 例如:100+1.5
  • 其中一个操作数为字符型:将字符型数据强制转换成数值型,如果无法转换,则直接当做0处理例如:'张无忌'+100结果为100
  • 如果操作数有一个为null:null参与的运算,计算结果都为null。
  • 解决方法:使用函数ifnull(表达式1,表达式2)
    • 表达式1:可能为null的字段或表达式
    • 表达式2:如果表达式1为null,则最终结果显示的值
    • 功能:如果表达式1为null,则显示表达式2,否则显示表达式1

day03_DQL查询表中的数据(简单丶条件丶排序)①

指定列的别名进行查询,

好处: 显示的时候使用新的名字,并不修改表的结构。 我们使用as关键字给表起别名AS也可以使用空格代替,如果别名中间存在空格就必须使用双引号引起来

  • 对列指定别名 语法:SELECT 字段名 1 AS 别名, 字段名 2 AS 别名... FROM 表名;
  • 对列和表同时指定别名 语法:SELECT 字段名 1 AS 别名, 字段名 2 AS 别名... FROM 表名 AS 表别名;

day03_DQL查询表中的数据(简单丶条件丶排序)①

条件查询

如果没有查询条件,则每次查询所有的行。实际应用中,一般要指定查询的条件。对记录进行过滤。

语法: select 查询列表   from  表名   where 筛选条件;

执行顺序

  1. from子句 :定位到具体的表
  2. where子句 :查询到符合where要求的数据
  3. select子句 :在符合where要求的的基础上,显示出select 后面的查询列表

按照关系表达式筛选

day03_DQL查询表中的数据(简单丶条件丶排序)①

day03_DQL查询表中的数据(简单丶条件丶排序)①

按逻辑表达式筛选

day03_DQL查询表中的数据(简单丶条件丶排序)①

day03_DQL查询表中的数据(简单丶条件丶排序)①

按模糊查询筛选

day03_DQL查询表中的数据(简单丶条件丶排序)①

day03_DQL查询表中的数据(简单丶条件丶排序)①

in 关键字

in 里面的每个数据都会作为一次条件,只要满足条件的就会显示

day03_DQL查询表中的数据(简单丶条件丶排序)①

范围查询

day03_DQL查询表中的数据(简单丶条件丶排序)①

day03_DQL查询表中的数据(简单丶条件丶排序)①  

判断是否为null

day03_DQL查询表中的数据(简单丶条件丶排序)①  

day03_DQL查询表中的数据(简单丶条件丶排序)①

排序查询

通过 ORDER BY 子句,可以将查询出的结果进行排序(排序只是显示方式,不会影响数据库中数据的顺序)

语法:

  • select 查询列表  from 表名  【where 筛选条件】  order by 排序列表

特点:

  • 排序列表可以是单个字段、多个字段、表达式、函数、列数、以及以上的组合
  • 升序 ,通过 asc   ,默认行为
  • 降序 ,通过 desc,
  • where 筛选条件 这个语句是可选项

执行顺序

  1. 先执行from子句
  2. 在执行where子句
  3. 之后执行select子句
  4. 最后执行order by 子句

单列排序

  • 只按某一个字段进行排序,单列排序。

语法:SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名 [ASC|DESC];

组合排序

  • 同时对多个字段进行排序,如果第 1 个字段相等,则按第 2 个字段排序,依次类推。

组合排序的语法: SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名 1 [ASC|DESC], 字段名 2 [ASC|DESC];

day03_DQL查询表中的数据(简单丶条件丶排序)①

 

上一篇:JavaScript学习记录day03


下一篇:day03循环语句