SQL结构化查询语言(持续更新)

本文详述了SQL查询的执行顺序,包括from、where、group by、having、select和order by等关键部分。讨论了select、where、update、delete、join、limit等操作的用法,并对比了MySQL与其他数据库的差异。此外,还介绍了in、exists的使用场景,以及group by语句的注意事项。最后,探讨了经典的SQL查询需求,如count(1)与count(字段)的区别。
摘要由CSDN通过智能技术生成

执行顺序

from:需要从哪个数据表检索数据
where:过滤表中数据的条件
group by:如何将上面过滤出的数据分组
having:对上面已经分组的数据进行过滤的条件
select:查看结果集中的哪个列,或列的计算结果
order by :按照什么样的顺序来查看返回的数据
asc 指定列按升序排列,desc 指定列按降序排列

Select

select from
SELECT * FROM XXX LIMIT X; 返回指定数量
select into 查询出的数据添加到一个插入到新表中
insert into select 查询并插入到已存在的表中

注意:如果group by中没有出现的字段 select中出现了 出现不确定值的时候 mysql会随机选一个值
在mysql中是合法的,但Oracle,hive中会报错

解决方法:

  1. 将该字段也放在group by中
  2. 用个简单的聚合函数把该字段框起来
    e.g MAX()、MIN()

Where:用于提取满足标准的记录

where XXX = ‘’; 常用于末尾

where xxx like 'x%'以X开头
where xxx like '%x’以X结尾
where xxx NOT like ‘%x%’ 不包含x

Where XXX IN (value1,value2,…); 可以筛选多个字符
WHERE xxx BETWEEN value1 AND value2;这些值可以是数值、文本或者日期

LIKE拓展 ’ _ ':

‘_a_’    //三位且中间字母是a的

'_a'    //两位且结尾字母是a的

'a_'    //两位且开头字母是a的

update 用于更新表中的记录

常与where一起使用
update 表名 set xxx = ‘’ where xxx = ‘’ ;

delect 用于删除表中的行

delect from 表名
where XXX ;

DROP、TRUNCATE、 DELETE 的区别。

DROP:
DROP test;
删除表test,并释放空间,将test删除的一干二净。

TRUNCATE:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值