![](https://img-blog.csdnimg.cn/direct/3697ac98e6944b7a92de808874f80b47.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
sql
文章平均质量分 66
笔记
你有柿嘛
这个作者很懒,什么都没留下…
展开
-
SQL之常用字符串函数
14. CHAR_LENGTH( )`或 `CHARACTER_LENGTH( ):返回字符串的字符数。6. SUBSTR( ) 或 SUBSTRING( ):从字符串中提取指定长度的子字符串。5. CONCAT_WS( ):使用指定的分隔符将两个或多个字符串连接在一起。9. REPLACE( ):将字符串中的某个子字符串替换为另一个子字符串。8. RIGHT( ):从字符串的右侧提取指定长度的子字符串。7. LEFT( ):从字符串的左侧提取指定长度的子字符串。1.length( )按字节来计算。原创 2024-03-05 16:10:15 · 1449 阅读 · 1 评论 -
高频 sql 50题(基础7)
2.匹配第二种情况,表达式为\\sDIAB1,其中\s:表示匹配一个空白字符(空格,tab,换页符等)(注意:反斜杠用于转义句点字符,句点字符在正则表达式中具有特殊含义,需要转义反斜杠本身,因此需要使用。substring(name,1,1 )表示截取字符串name的第一个字符,两个数字分别表示开始位置和结束位置,而subsring(name,2)表示截取字符串name第二个字符直至结束。1. ^:表示一个字符串或行的开头1.[a-z]:表示一个字符范围,匹配从 a 到 z 的任何字符。原创 2024-03-05 15:37:16 · 1876 阅读 · 1 评论 -
高频 sql 50题(基础6)
当id能被2整除时,a.id=b.id+1(对应a.id=2,b.id=1),完成学生1和学生2的座位互换,以此类推,筛选出a.id和b.student(a.id顺序输出,b.student是互换后的结果)。注意:要用 distinct 函数确保取得的 a.tiv_2016 不会重复,如果没有用 distinct 函数,a.tiv_2016分别会取到重复数据,在 a.ip=1 的时候筛选到 tiv_2016为5 和40,而在 a.ip=4 的时候筛选到 tiv_2016 为40 和5。原创 2024-03-03 16:12:34 · 496 阅读 · 0 评论 -
SQL之Where和Having的区别
1.WHERE关键字用于在查询过程中过滤数据,它是基于表中的列值进行过滤。SQL语句的执行过程一般是:from-->where-->group by -->having --> select--- >order by。总结一下,WHERE 用于在分组前过滤数据,不能直接引用聚合函数,而 HAVING 用于在分组后过滤数据,可以直接引用聚合函数。在SQL中,Where和Having都是用于过滤查询结果的关键字,但它们的使用场景和适用对象有所不同。原创 2024-03-01 21:24:48 · 371 阅读 · 1 评论 -
高频 sql 50题(基础5)
题目思路:题目要求是统计向经理汇报的员工人数,以及这些员工的平均年龄1.将经理和其管理的下属连接在一张表上,并根据经理id进行分组2.统计经理的员工人数和平均年龄2.员工的直属部门题目描述题目要求是查出员工所属的直属部门。将员工分为两类分析,一类是只加入一个部门的,这类员工的直属部门就是他加入的唯一的部门;一类是加入多个部门的,这类员工的直属部门是枚举类型为 primary_flag="Y"的部门。3.判断三角形题目描述 4.连续出现的数字题目描述 官方解法(代原创 2024-03-02 19:48:52 · 2042 阅读 · 0 评论 -
SQL之排序函数ROW( )、RANK()、DENSE_RANK( )
ROW_NUMBER( )、RANK( ) 和 DENSE_RANK( ) 是 SQL 中的窗口函数,用于为分区或者结果集中的每一行分配一个特定的值,通常基于某个排序顺序。原创 2024-03-03 17:00:23 · 893 阅读 · 0 评论 -
高频 sql 50题(基础3)
总结判断奇数的常用方法:做法二(利用位运算,参考网友做法)Tip:1.的作用与!=相似,都是不等于,非的意思2.& 是逻辑“与”运算,在对两个二进制数的每一位进行逻辑运算的时候,只有两个二进制数的对应位都是 1 的时候,返回结果才会是1。在这道题中,当id为奇数的时候,它对应的最小数位必然是1,此时返回结果是1,比如id是5,001 & 101,最后一位都是1,返回1。原创 2024-02-28 20:19:05 · 733 阅读 · 0 评论 -
SQL之常用日期函数
13. DAYOFWEEK():从日期时间值中提取星期几(从星期日开始算起,1 表示星期日,2 表示星期一,以此类推)。12. DAY() 或 DAYOFMONTH():从日期时间值中提取月份中的天数。3. DATE_ADD():给指定的日期时间值添加指定的时间间隔。4. DATE_SUB():从指定的日期时间值减去指定的时间间隔。14. DAYOFYEAR():从日期时间值中提取一年中的天数。8. DATE():从日期时间值中提取日期部分。9. TIME():从日期时间值中提取时间部分。原创 2024-03-03 17:40:28 · 671 阅读 · 0 评论 -
高频 sql 50 题(基础4)
题目要求“仅在2019-01-01至2019-03-31之间出售的商品”,请注意是“仅”,说明商品只能在该段时间出售,其余时间下架,用BTWEEN...AND...并不能突出“仅”,转而采用MAX(),MIN()函数。select里的聚合函数是针对每一分组的,不能直接作用于聚合键,执行后返回的结果是每个分组的最大值。做法二解决了上述思路的错误,通过对筛选结果进行降序排序,并返回1个结果,就可以得到正确的返回结果。1.按照顾客id进行分组,并统计他们购买的不重复的商品的数量。2.统计店里商品的总数量。原创 2024-03-01 20:25:25 · 551 阅读 · 1 评论 -
高频sql 50 题(基础2)
利用if判断,当状态为开始,将时间取反(不用自己做差,直接取反),得到所有结果相加之后取平均,实际得到的结果由四位数字相加取平均得到,即sum()/4,而根据题意,机器有两个进程,每个进程的时间差相加再取平均,总的运行时间再除于2得到平均运行时间,即sum()/2,因此结果要再乘上2。题目的意思理解起来有点绕,简而言之是筛选出那些进店却没有任何交易的顾客(之前进行过交易的顾客在再次进店无任何交易也包括在内),利用左连接列出所有进店的顾客信息,并筛掉有交易的信息,剩下的信息进行分组统计。原创 2024-02-27 23:06:25 · 593 阅读 · 0 评论 -
高频sql 50 题(基础1)
=>为null安全的等值比较符号,作用类似于 ' = ',结合了 ‘ = ’运算符和 Is 关键字的作用,既能判断具体数值,也能判断非空,上述代码中的2筛选选项的是等于2的非空值。做法二(用时626ms)做法一(用时606ms)做法三(用时482ms)Tip:运算符原创 2024-02-26 19:58:00 · 410 阅读 · 1 评论