sql语法知识

mysql执行顺序:

from > join--on > where > group by > avg,sum.... > having > select > distinct > order by > limit

————————————————

sql语言中对大小写是不敏感的

一、限定查询(where 条件子句)

关系运算符:关系运算符包括了 >、<、>=、<=、=、!=、<> ,它们是用来进行大小或相等的比较,其中不等于有两种:!= 和 <>

范围查询:BETWEEN …… AND……

列表范围查找:IN、NOT IN

判断内容是否为空:IS NULL 、IS NOT NULL(IS NULL:如果内容为 NULL 则返回 true,否则返回 false;IS NOT NULL:如果内容不为 NULL,则返回 true,否则返回 false)

模糊查询:LIKE 、NOT LIKE

百分号(%):可匹配任意长度(可以匹配 0 位、1 位或者多位)的字符

下划线(_):匹配单个任意字符,常用来限制表达式的字符长度

参考网址:https://note.youdao.com/ynoteshare1/index.html?id=14ca4598f0aeacb67526869371cb2e5c&type=note

ORDER BY 子句

ORDER BY 排序字段 ASC|DESC , 排序字段  ASC|DESC

注:ORDER BY 子句是在 SELECT 子句后面再执行的,所以在 ORDER BY 中可以使用 SELECT 子句查询列所定义的列名

二、多表查询(join……on……)

参考:https://www.jianshu.com/p/4d26d92096f7

UNION,求并集,返回若干个查询结果的全部内容,但是重复的记录不显示

UNION ALL,求并集,返回若干个查询结果的全部内容,但是显示重复的记录

我们可以使用 UNION 代替 OR 子句,性能提高不少

INTERSECT,求交集,返回若干个查询结果的相同部分

MINUS,求差集,返回若干个查询结果中的不同部分

参考:https://note.youdao.com/ynoteshare1/index.html?id=f2a1f1d9fb04f1df7cb1bdebd4366943&type=note

三、分组聚合查询

聚合函数:

        AVG()-返回数值列的平均值

        SUM()-返回数值列的总数

        MAX()  /  MIN()    -返回指定列的最大 / 小值

        COUNT()-返回 匹配指定条件 的行数

GROUP BY分组:

GROUP BY语句用于结合 Aggregate 函数,select中一定要有上述Aggregate 函数中的一个,如count(),sum(),avg()等。

having:

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字后不能直接与 Aggregate 函数一起使用。且having只能与group by一起使用,不能单独使用。

四、子查询

从 SQL 的语法上来讲,子查询可以放在:

WHERE 子句中

HAVING 子句中

FROM 子句中

五、SQL Scalar 函数:

UCASE()-将某个字段转换为大写   UPPER

LCASE()-将某个字段转换为小写    LOWER

INITCAP():将字符串的开头字母大写

REPLACE(ename, 'A', '_') : 使用新的字符串替换旧的字符串

MID()-从某个文本字段提取字符

LEN()-返回某个文本字段的长度

ROUND()-对某个数值字段进行指定小数位数的四舍五入

floor()向下舍入为指定小数位数

ceiling()向上舍入为指定小数位数

NOW()-返回当前的系统日期和时间

FORMAT()-格式化某个字段的显示方式

参考:https://www.jianshu.com/p/470064d64115

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容