MySQL语句——数据查询语言DQL详解

数据查询语言(DQL:Data Query Language):语句主要包括 SELECT,用于从表中检索数据。 下文对DQL做了一个较为全面的总结

目录

    • 基本SELECT语句
      • 选择所有列
    • 算术运算符
    • 列别名——用来重新命名列的显示标题
    • 消除重复行——DISTINCT
    • 选择限定数据行
      • 3.特殊比较运算符
        • LIKE运算符
      • 逻辑运算符
    • 排序——ORDER BY
    • 限制记录的行数——LIMIT

基本SELECT语句

  • 基本SELECT语句语法 :
    SELECT [DISTINCT]{*|column|expression [alias],…} FROM table where子句;
  • 注意:
    1. SELECT子句表示所需检索的数据列。
    2. FROM子句 表示检索的数据来自哪个表。
  • 举例:
    在这里插入图片描述

选择所有列

  1. SELECT * FROME TABLE;
    例如:
    MySQL语句——数据查询语言DQL详解_第1张图片

  2. SELECT 列1,列2,····列n FROM TABLE;
    例如:

MySQL语句——数据查询语言DQL详解_第2张图片

算术运算符

以在SELECT语句中使用算术运算符(加减乘除),改变输出结果。
MySQL语句——数据查询语言DQL详解_第3张图片

  • 算术运算符优先级
  1. 乘除优先于加减
  2. 相同优先权的表达式按照从左至右的顺序依次计算
  3. 括弧可以提高优先权,并使表达式的描述更为清晰
  • 算术表达式中的空值NULL:NULL值是指一种无效的、未赋值、未知的或不可用的值。NULL空值不同于零或者空格。
  • 任何包含空值的算术表达式运算后的结果都为空值 NULL。

列别名——用来重新命名列的显示标题

如果SELECT语句中包含计算列,通常使用列别名来重新定义列标题。

  • 使用列别名的方法

    1. 方式1:列名 列别名
    2. 方式2:列名 AS 列别名
  • 以下三种情况列别名两侧需要添加双引号

    1. 列别名中包含有空格
    2. 列别名中要求区分大小写
    3. 列别名中包含有特殊字符

消除重复行——DISTINCT

ELECT字句中使用关键字DISTINCT可消除重复行。
MySQL语句——数据查询语言DQL详解_第4张图片

选择限定数据行

  1. 使用WHERE子句可以返回限定的数据行,语法如下:
    SELECT [DISTINCT] {*| column | expression [alias], …} FROM table [WHERE condition(s)];
    •WHERE子句紧跟在FROM子句之后
    • condition(s)表示条件表达式,通常格式为:列名 比较操作符 要比较的值

3.特殊比较运算符

MySQL语句——数据查询语言DQL详解_第5张图片

LIKE运算符

  • 使用LIKE运算符判断要比较的值是否满足部分匹配,也叫模糊查询。模糊查询中两个通配符:
    1. % 代表零或任意更多的字符
    2. _代表一个字符,必须有且只能有一个字符
      MySQL语句——数据查询语言DQL详解_第6张图片

逻辑运算符

MySQL语句——数据查询语言DQL详解_第7张图片

注意:

  1. 比较操作符中等于号为“=”
  2. 字符型数据和日期型数据作为被比较的值时,必须用单引号引起来 ,字符型数值区分大小写
    例如:
    MySQL语句——数据查询语言DQL详解_第8张图片

排序——ORDER BY

  • 使用ORDER BY子句能对查询结果集进行排序,语法结构如下:
    SELECT [DISTINCT] { * | 列名 |表达式 [别名][,…]} FROM 表名 [WHERE 条件] [ORDER BY {列名|表达式|列别名|列序号} [ASC|DESC],…];

  • 其中:
    • 可以按照列名、表达式、列别名、结果集的列序号排序
    • ASC: 升序,默认值 DESC: 降序
    • ORDER BY 子句必须写在SELECT语句的最后
    • 可按多个字段排序,写在前面的字段优先排序

  • 排序规则(以升序为例) :

  1. 数字升序排列小值在前,大值在后。即按照数字大小顺序由小到大排列。
  2. 日期升序排列相对较早的日期在前,较晚的日期在后。
  3. 字符升序排列按照字母由小到大的顺序排列。即由A-Z排列;
  4. 中文升序按照字典顺序排列。 如果不是gbk编码,还需要
  5. 空值在升序排列中排在最前面,在降序排列中排在最后。
  • 按列别名排序
    MySQL语句——数据查询语言DQL详解_第9张图片
  • 多列参与排序
    举例:MySQL语句——数据查询语言DQL详解_第10张图片
  1. 参与排序的多列都可以指定升序或者降序
  2. ORDER BY子句中可以写没在SELECT列表中出现的列
  3. 写在前面的字段优先排序

限制记录的行数——LIMIT

  • 使用select语句时,经常要返回前几条或者中间某几行记录,可以使用关键字limit。语法格式如下:
    select 字段列表 from 数据源 limit [start,]length;

  • 说明:

    1. limit接受一个或两个整数参数。start表示从第几行记录开始输 出,length表示输出的记录行数。
    2. 表中第一行记录的start值为0(不是 1)。
  • 例如:查询员工表的前5条记录
    MySQL语句——数据查询语言DQL详解_第11张图片

看官,如果觉得这篇文章还不错,点个赞加个关注再走呗 ^ - ^
MySql系列文章:

  1. MySql数据库基本操作(一)
  2. MySql数据库管理操作基本语句小结
  3. MySql中建表时约束条件的总结
  4. MySql中对数据类型的总结
  5. mySql事务处理TPL的小总结
  6. MySQL语句——数据查询语言DQL详解
  7. MySql数据库中SQL语句的全面总结
  8. MySql中最基本最常用的函数小结

你可能感兴趣的:(数据库,数据库,mysql,sql)