MySQL基本sql语句-阶段下

WHERE子句

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。

SELECT field1, field2,…fieldN FROM table_name1, table_name2…
[WHERE condition1 [AND [OR]] condition2…

LIKE子句

LIKE运算符用于WHERE表达式中,以搜索匹配字段中的指定内容,语法如下:(如果在需要区分大小写/中文的时候,可以加入BINARY操作符)

WHERE column LIKE pattern
WHERE column NOT LIKE pattern

like一条一条扫描,比较耗性能

正则表达式

下表中的正则模式可应用于 REGEXP 操作符中。

模式描述
^^匹配字符串开始位置,如查询所有姓王的人名
$$匹配字符串结束位置,如查询所有姓名末尾是“明”的人名
.匹配除 “\n” 之外的任何单个字符。要匹配包括 ‘\n’ 在内的任何字符,请使用像 ‘[.\n]’ 的模式。
[…]字符集合。匹配所包含的任意一个字符。例如, ‘[abc]’ 可以匹配 “plain” 中的 ‘a’。
[^…]负值字符集合。匹配未包含的任意字符。例如, ‘[^abc]’ 可以匹配 “plain” 中的’p’。
p1|p2|p3匹配 p1 或 p2 或 p3。例如,'z
*匹配前面的子表达式零次或多次。例如,zo* 能匹配 “z” 以及 “zoo”。* 等价于{0,}。
+匹配前面的子表达式一次或多次。例如,‘zo+’ 能匹配 “zo” 以及 “zoo”,但不能匹配 “z”。+ 等价于 {1,}。
{n}n 是一个非负整数。匹配确定的 n 次。例如,‘o{2}’ 不能匹配 “Bob” 中的 ‘o’,但是能匹配 “food” 中的两个 o。
{n,m}m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。

分组

HAVING where_condition

注意
(1)假设表中没有大于35岁的
在这里插入图片描述

如果想保证having运行成功
必须保证他是聚合函数,要么保证having中的字段出现在查询中

在这里插入图片描述

现在即使没找到,也会运行成功
(2)在这里插入图片描述

虽然说id不在查询内,但是它在聚合函数内,所以having是能成功运行的

排序

对查询结果进行排序

ORDER BY {col_name | expr| position} [ASC|DESC]

limit

LIMIT {[offset,] row_count | row_count OFFSET offset}]

offset从0 开始标识

比较运算符

在这里插入图片描述

select s1 from t1 where s1 > any (select s1 from t2);

  • 假设any内部的查询语句返回的结果个数是三个,
    那么,

  • ANY关键字:any 可以与=、>、>=、<、<=、<>结合起来使用,分别表示等于、大于、大于等于、小于、小于等于、不等于其中的任何一个数据就返回true。否则为false。

  • ALL关键字:all可以与=、>、>=、<、<=、<>结合是来使用,分别表示等于、大于、大于等于、小于、小于等于、不等于其中的其中的所有数据就返回true。否则为false。

  • SOME关键字:some和any一样的功能。

子查询

使用[NOT] IN的子查询

!=ALL或<>ALL与NOT IN等效功能。

使用[NOT] EXISTS 的子查询

如果子查询返回任何行数据,EXISTS将返回true,否则为false。

连接

在这里插入图片描述

在这里插入图片描述

内连接

在这里插入图片描述

左外连接

在这里插入图片描述
如果没有值 会显示为空

右外连接

在这里插入图片描述
如果外连接发现没有值 会显示为空
同时,如果设计时这个不允许为空,就会发生冲突,停止查找


在慕课网观看视频后的总结,但是它下架了,所以没有办法发链接了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值