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

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

基本SELECT语句

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

选择所有列

  1. SELECT * FROME TABLE;
    例如:
    在这里插入图片描述

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

在这里插入图片描述

算术运算符

以在SELECT语句中使用算术运算符(加减乘除),改变输出结果。
在这里插入图片描述

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

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

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

  • 使用列别名的方法

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

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

消除重复行——DISTINCT

ELECT字句中使用关键字DISTINCT可消除重复行。
在这里插入图片描述

选择限定数据行

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

3.特殊比较运算符

在这里插入图片描述

LIKE运算符

  • 使用LIKE运算符判断要比较的值是否满足部分匹配,也叫模糊查询。模糊查询中两个通配符:
    1. % 代表零或任意更多的字符
    2. _代表一个字符,必须有且只能有一个字符
      在这里插入图片描述

逻辑运算符

在这里插入图片描述

注意:

  1. 比较操作符中等于号为“=”
  2. 字符型数据和日期型数据作为被比较的值时,必须用单引号引起来 ,字符型数值区分大小写
    例如:
    在这里插入图片描述

排序——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. 空值在升序排列中排在最前面,在降序排列中排在最后。
  • 按列别名排序
    在这里插入图片描述
  • 多列参与排序
    举例:在这里插入图片描述
  1. 参与排序的多列都可以指定升序或者降序
  2. ORDER BY子句中可以写没在SELECT列表中出现的列
  3. 写在前面的字段优先排序

限制记录的行数——LIMIT

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

  • 说明:

    1. limit接受一个或两个整数参数。start表示从第几行记录开始输 出,length表示输出的记录行数。
    2. 表中第一行记录的start值为0(不是 1)。
  • 例如:查询员工表的前5条记录
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45768060/article/details/108593481