SQL刷题心得体会

刷题链接

https://www.nowcoder.com/ta/sql?page=0

今天是刷SQL题的第三天,做了如下的笔记,写的比较乱,等我学完了再整理

1.max()函数获取某一元素最大值 count()函数获取某一元素的数量

2.order by 字段名 正排序
order by 字段名 desc 反向排序   排序放在最后
limit a,b 从第a+1开始显示从a+1往后b个的数据(b个里面包括a+1)  其中a,b为索引值从0开始

3.join....on

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;

查找两个表在某个条件下的交集

4.INNER JOIN 两边表同时有对应的数据,即任何一边缺失数据就不显示。
LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据。
RIGHT JOIN 会读取右边数据表的全部数据,即便左边表无对应数据。

5.GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。
HAVING 子句可以让我们筛选分组后的各组数据。

6.DISTINCT可以去除重复但是效率不高,在大表里面不建议使用
主要还是使用group by

7.not 用于表示某一字段不在某个集合内.
<>表示不等于和!=效果一样

8.where和and 有区别
要养成良好习惯,on后只写连接条件,过滤条件则写在where上


9.当前员工指的是to_date='9999-01-01' 

10.关键词执行顺序
查询中用到的关键词主要包含六个,并且他们的顺序依次为
select--from--where--group by--having--order by
其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序
与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行
from--where--group by--having--select--order by,
from:需要从哪个数据表检索数据
where:过滤表中数据的条件
group by:如何将上面过滤出的数据分组
having:对上面已经分组的数据进行过滤的条件
select:查看结果集中的哪个列,或列的计算结果
order by :按照什么样的顺序来查看返回的数据

11.当问到需要排行第几的问题时,需要考虑到重复数据的问题,要考虑使用distinct

12.当使用嵌套查询时,多层嵌套不能用最外层的别名

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值