sql笔记

1.select写列名比*性能更好。

2.group by也能用来去重。

3.--LIMIT (m),n:从第m+1条开始,取n条数据; --LIMIT n OFFSET m:从第m+1条开始,取n条数据;

4.闭区间:age>=20 and age<=23;或者between 20 and 23;

5.不等于的基础语法

  #where university != '复旦大学'

  #where university not like '复旦大学'

  # where university not in ('复旦大学')

6.空值处理:在实际工作中,空字符串也会导致空值,where age is not null and age <> ""

7.是或不是的时候才能用“is”,别的时候有关联关系还是用等号和大于小于才行

8.筛选条件为某个范围,where in ()

9.匹配串中可包含如下四种通配符:

_:匹配任意一个字符;

%:匹配0个或多个字符;

[ ]:匹配[ ]中的任意一个字符(若要比较的字符是连续的,则可以用连字符“-”表 达 );

[^ ]:不匹配[ ]中的任意一个字符。

10.# 方法2

select gpa

from user_profile

where university='复旦大学'

order by gpa desc limit 1

11.round(avg(gpa), 1),结果保留1位小数;

12.在 SQL 中,HAVING 子句不能直接使用别名,而是需要使用原始的聚合函数(如 AVG(question_cnt))。

  1. WHERE 子句是在聚合之前执行的,而 avg_question_cnt 和 avg_answer_cnt 是聚合后的结果。
  2. 如果需要对聚合后的结果进行筛选,应该使用 HAVING 子句,而不是 WHERE。

13.NULLIF(COUNT(DISTINCT q.device_id), 0):如果 COUNT(DISTINCT q.device_id) 为零,NULLIF 会返回 NULL,从而避免除以零的错误。

14.结果不去重就用union all,去重就用 union。

where university='山东大学' or gender="male"的话,也是去重的。

(持续更新中-- 周为单位整理下框架= =)

全部评论

相关推荐

03-06 16:41
已编辑
长沙理工大学 后端
自我介绍(5分钟)介绍项目(35分钟)几乎每个项目都介绍了一下,面试官确实对我的那个开源很感兴趣,中间还要看我的pr。把开发需求文档给他介绍了一遍。中间问我nett的底层了解吗?我实话实说不了解,只针对netty进行了使用,开发时间太短,没时间再研究底层了。之后问我java和go哪个擅长,我说java&nbsp;er的我基本都会,go这边的话基础不太好,主要侧重于各种框架和业务。无八股一道go语法分析题,我说没搞error,然后这个defer很怪,我没这样用过,我会把res定义在上面,然后dosomething。我感觉这个defer是有问题的&nbsp;但是我说不上来。```func&nbsp;method(ctx&nbsp;*Context)&nbsp;resType&nbsp;{//&nbsp;假设&nbsp;connt&nbsp;是另一个已定义的变量defer&nbsp;dosomething(res,&nbsp;connt)//&nbsp;返回某些值res&nbsp;:=&nbsp;[]int{1}}lru缓存我直接说了我有思路&nbsp;但是时间不够了,我可能需要很久搞完,然后针对各种复杂度实现和面试官battle了一下。比如o1复杂度获取某个数据。使用双指针+数组+哈希表实现。合并二叉树(2分钟不到)没做过原题,刚搭完dfs,准备改细节了,想着和面试官边聊边做.谁知道面试官说不做了,没时间了,会议室时间要到了。然后我讲了我的思路。结束后自己敲出来了。希望能过&nbsp;求求了,给个oc,面试完问hr,hr说自己离职了,一周内出结果。绷,幸好周一的时间没离职(引流:字节跳动,腾讯,华为,小红书
查看7道真题和解析
点赞 评论 收藏
分享
评论
1
3
分享

创作者周榜

更多
牛客网
牛客企业服务