zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

SQL必知必会知识点汇总

2023-04-18 16:13:25 时间

前言

❤欢迎大家阅读我的文章呀❤
今天是SQL必知必会的最后一块练习。
希望你们在我的文章当中能有所收获!!!
SLogan:利用有限的时间,撸起袖子加油干!

  本篇内容主要总结了【SQL必知必会】当中的一些知识点以及我做题过程当中碰到的一些细节问题。虽然这一块的题目做下来难度不大,非常容易掌握,但这是打基础的一个阶段,所以还是要耐下心来好好学习!!!这一块的内容并没有涉及到很多新的知识点,无非就是对之前几个知识点反复运用罢了,接下来我们就开始归纳!

注意点

ORDER BY 中如果定义了多个字段,则按照字段的先后顺序排序,用英文逗号隔开。

ORDER BY cust_id,order_date DESC

WHERE [NOT ] IN ()

①列名 [NOT] IN(常量1, 常量2,…常量n)

注意:IN后面的括号当中如果是字符串的话,一定要将字符串用单引号 ’ 标注起来;
例如:SELECT * FROM table WHERE uname IN('aa','bb','cc');

注意点

WHERE的用法在ORDER之前

意思就是说ORDER BY 放在 WHERE语句之后

字符串的截取

substring(字符串,起始位置,截取字符数)

参数1:字符串
参数2:截取的起始位置
参数3:截取的字符数量

例如:

SUBSTRING(cust_name,1,2)

表示的含义:取cust_name的前两个字符,从第1个字符开始,取2个字符

SUBSTRING(cust_city,1,3)

表示的含义:取cust_city的前三个字符,从第1个字符开始,取3个字符

字符串的拼接

concat(字符串1,字符串2,字符串3,…)

例如:

CONCAT(SUBSTRING(cust_name,1,2),SUBSTRING(cust_city,1,3))

承接上一个截取字符的例子,将cust_name当中取出来的前2个字符和从cust_city当中取出来的3个字符拼接起来。

字母大写

upper(字符串)

时间函数

年:YEAR(date)
月:MONTH(date)
日:DAY(date)

下面列举三种不同的表达方式(2020年1月):
常规方法
①YEAR(order_date)=2020 AND MONTH(order_date)=1
切割字符串
②WHERE left(order_date, 7) = ‘2020-01’
用LIKE来查找
③WHERE order_date LIKE ‘2020-01%’

注意点

GROUP BY必须得配合聚合函数来用,分组之后你可以计数(COUNT),求和(SUM),求平均数(AVG)等。

HAVING和GROUP BY

where—过滤过滤指定的行 having–过滤分组,与group by连用

GROUP BY 和HAVING 搭配使用!

子查询

格式如下:

SELECT cust_id FROM Orders
WHERE order_num IN (
SELECT order_num
FROM OrderItems
WHERE item_price>=10
)

JOIN连接

以下三个联结之间的区别:

内联结:INNER JOIN。取两列的交集。
外联结:LEFT JOIN。左连接,以左边表的列为主,取两列的交集,对于不在右边列存在的名称取null。
    RIGHT JOIN。右连接,以右边表的列为主,取两列的交集,对于不在左边列存在的名称取null。

UNION 和UNION ALL的区别

UNION–将两个表做行拼接,同时自动删除重复的行。
UNION ALL—将两个表做行拼接,保留重复的行。

union使用前提
使用union合并两个表时,需要两个表的结果集字段完全一样;

使用UNION组合查询时,只能使用一条ORDER BY 字句,且必须位于最后一条SELECT语句之后!!!

总结

  希望大家一键三连呀!!谢谢!!!

  今天结束了【SQL必知必会】专题的知识点汇总,这一部分的知识点和最开始的基础是离不开的,所以把基础打好之后,一道题目有很多种解法,我们只要多积累自己搞不清楚的地方,多积累自己的错题就可以学的更好!!!
  预告一下:接下来要学习的是【SQL进阶挑战】,让我们一起期待吧!

  感谢您宝贵的阅读,关注和点赞噢!晚安❤