ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-01-19 21:00:34  阅读:142  来源: 互联网

标签:day03 表中 查询 select 字段名 子句 DQL 排序 表达式


数据准备

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

DQL 查询表中的数据

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

简单查询

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

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

特点:

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

执行顺序

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

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

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

查询表中的指定列

清除重复值

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

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

查询结果拼接算 

mysql中+的作用:

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

指定列的别名进行查询,

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

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

条件查询

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

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

执行顺序

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

按照关系表达式筛选

按逻辑表达式筛选

按模糊查询筛选

in 关键字

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

范围查询

 

判断是否为null

 

排序查询

通过 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,表中,查询,select,字段名,子句,DQL,排序,表达式
来源: https://blog.csdn.net/weixin_44462792/article/details/111307006

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有