sql $10符号_(二)SQL练习-简单查询

7f7c70659c758d995390f3bbf503ec86.png

454059878ca468d0640e15feb4ca289b.png

书写规则

  • SQL语句不区分关键字、表名、列名的大小写(插入的值是区分大小写的)
  • SQL语句以英文分号(;)结尾
  • 列名不能加单引号(列名命名时不能有空格)
  • 符号输入只能使用英文符号

SQL语句书写顺序

SELECT 
    <要返回的数据列>
FROM
    <表名>
JOIN<LEFT JOIN, RIGHT JOIN ...>
    <join表>
ON
    <join条件>
WHERE
    <where条件>
GROUP BY
    <分组条件>
HAVING
    <分组后的筛选条件>
ORDER BY
    <排序条件>
LIMIT
    <行数限制>

SQL语句执行顺序

SQL语句的书写顺序和运行顺序不一样

  1. FROM
  2. JOIN
  3. ON
  4. WHERE
  5. GROUP BY
  6. HAVING
  7. SELECT
  8. ORDER BY
  9. LIMIT

基本的查询语句--SELECT

select语句是最基本也是最常用的语句,从一个或多个表中检索信息,格式如下:

SELECT <列名1>,<列名2>,... ...
FROM <表名>;

*表示查询出全部列

AS 为列设定别名(AS起别名时注意当别名中含有空格、通配符、关键字时,可将别名使用双引号或单引号标注)

DISTINCT 表示删除重复值,只检索不同的值。可以放在多列名前,此时是将多列组合为一条数据再判断是否重复。

2a7c68b42a43a7a47ccfe0751be4ef3b.png
select *

9c1e5ffb7d5c36fef7b369f104c0b586.png
distinct 单列

218edea9bfb4ec323410294e43614c02.png
distinct 多列

指定查询条件--WHERE

where子句指定搜索条件对数据进行过滤

e1ac9db696c06801d2978b684e8202dd.png
where 子句

运算符

为SQL指定复杂的搜索条件,有3类运算符:算术运算符、比较运算符、逻辑运算符。

算术运算符

+(加)、 - (减)、*(乘)、 /(除)

注意+号的作用:

  • 当表达式中有一个字符型时(SELECT '123'+90)运算规则是先将字符转换成数值型,转换成功后进行加法运算。
  • 当转换失败(SELECT 'JOHN'+90),则将字符型数值转换成0再进行运算。
  • 当表达式中只要有一个为nul时(SELECT NULL+10),运算结果都是NULL。

比较运算符

=(相等)、<>(不等于)、>(大于)、>=(大于等于)、<(小于)、<=(小于等于)

注意:

字符串类型安装字典顺序排序,所以字符串比较是按照字典顺序比较,例'10'<'2'(因为10是以1开头的字符串,1比2小)

逻辑运算符

NOT(否定某一条件)、AND(并且)、BETWEEN(范围查询)、OR(或者)、IN(OR的简单写法)

注意:

  • BETWEEN 查询范围包括开始值和结束值。BETWEEN a AND b 作用等价于 >=a AND <=b,所以a,b的大小值不能换位置(即a<b)。
  • 在WHERE子句中同时含有AND,OR时,需要用()明确分组。求值顺序:()> AND >OR
  • IN 的作用等于多个OR ,注意IN后括号列表里的值类型必须一致或兼容,且不能含有通配符。格式:WHERE ...IN (<值1>,<值2>,...)

c9c0af840aa2c78d8dfef90fc613d7dc.png
and和or

6959671507593ae4292bdd2f3a01741c.png
and、or、()

044c6ef4bf6db63ace154bcd386d49ac.png
in()

查询空值 NULL和<=>

  • 空值查询用 IS NULL,而=或<>不能用于判断null值(不报错,但显示N/A)。
  • <=>是安全等于符号,既可以判断NULL值,也可以判断数值。

ea87a8a7c7ec4a8fed40a1ed63a630af.png
is null

e46e528ce19a2dc9dc891f2dd55b403a.png
is not null

23bf3b5f7301345a986fc300a33e3c71.png
&amp;amp;amp;lt;=&amp;amp;amp;gt;

字符串模糊查询--LIKE

模糊查询时,需要使用LIKE 搭配通配符来检索字符串(通配符搜索只能用于字符串)。

  • 通配符 % 代表任意多个字符(包含0个字符);
  • 通配符 _ 代表任意单个字符(1个下划线表示1个字符);

3a646e71f0402c811b751ae056267869.png
通配符%

注意:

当要找的字符串中本身就包含通配符'-'或'%'时,可进行以下2种方式转义:

【例】查询第2个字符为_的name

  1. 使用 反斜线符号,例:SELECT ...WHERE name LIKE '__%'
  2. 使用ESCAPE指定随意转义符号,例:WHERE name LIKE '_$_%' ESCAPE '$'

注释

使用注释可以为SQL语句增加解释,便于复查、工作交接。当写好的语句中包含了不想处理或执行的语句时,也可以使用注释来做跳过处理。

有3种方法来使用注释:

1.#单行注释
2.-- 单行注释(注意是2个短线加1个空格)
3. /* 
  多行
  注释
  */

4a7227409572980fd1c33d475ea446b9.png
多行注释

SQL语句常见错误(补充ing)

SQL语句使用换行或半角空格来分割单词(中文符号、两行之间空行都是错误的)

-----------------------------------------------------------

SQLZOO习题答案见:Daisy戴戴:SQLZOO答案(更新ing)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值