B站MoshSQL进阶教程【第二章】从单一表格中检索数据


前言

单一表中SELECT语句的使用以及一些关键字


一、SELECT语句以及一些关键字

SELECT语句基本格式

SELECT  */【distinct】目标列表达式  AS 别名

FROM 表名或视图名或者(select语句)as 表名(属性)

WHERE 条件表达式

GROUP BY 列名 【having 条件表达式】

ORDER BY 列名 【asc|desc】

WHERE子句

WHERE 是行筛选条件,实际是一行一行/一条条记录依次验证是否符合条件,进行筛选。其中优先级是学运算>比较运算>逻辑运算。
WHERE也可以对日期或者文本进行比较运算,文本字符串通过比较按顺序比较每个字母的Ascll码表,日期视为’特殊’的字符串,需用单引号或者双引号包裹

逻辑表达式AND,OR,NOT

逻辑运算符意义
AND双值运算符,如果左右两个条件都为真,则得到的值就为真
OR双值运算符,只要左右两个条件有一个为真,则得到的值就为真
NOT单值表达式,若原条件为真,则得到假,若原条件为假,则得到真

其中优先级NOT>AND>OR

IN运算符

IN运算符将某一属性与多个值(一系列值)进行比较
实质是多重相等比较运算条件的简化

BETWEEN运算符

BETWEEN X AND Y

等同于x<=?<=y
本质也是一种特定的 多重比较运算条件 的简化

LIKE运算符

模糊查找,查找具有某种模式的字符串的记录/行
具有两种通配符:

  • % 代表任意数量的字符(不为负,包含零)
  • _ 代表一个字符

REGEXP运算符

正则表达式相当于强化版的like
一些常用的通配符

通配符意义
^字符必须以^后字符为开头
$字符必须以^后字符为结尾
[abc]含abc中任意一个
[a-h]含a到h中任意一个
|等同于OR

IS NULL运算符

找出空值,找出有某些属性缺失的记录

ORDER BY子句

排序语句

  • 可多列 可以是列间的数学表达式
  • 可包括任何列,包括没被SELECT语句选择的列(MySQL特性,其它DBMS可能报错)
  • 可以是之前定义好的别名列(MySQL特性,甚至可以是用一个常数设置的列别名)
  • 任何一个排序依据列后面都可选加 DES

LIMIT子句

限制返回结果的记录数量,‘前N个’ 或 ‘跳过M个后的前N个’

LIMIT N
LIMIT M,N

二、注意

SQL会完全无视大小写(绝大数情况下的大小写)、多余的空格(超过一个的空格)、缩进和换行,SQL语句间完全由分号 ; 分割


总结

需牢记各种关键字的用法,忘记其实也没关系,需要的时候查一下官网,但是牢记总是好很多

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值