MySQL学习总结第五章

  1. 创建总的数据表:
    在这里插入图片描述
  2. 插入数据:
    在这里插入图片描述
    3.子查询:
    子查询(Subquery)是指出现在其他SQL语句内的SELECT子句。
    例如:
    SELECT * FROM t1 WHERE col1 = (SELECT col2 FROM t2);
    其中SELECT * FROM t1,称为Outer Query/Outer Statement
    SELECT col2 FROM t2, 称为SubQuery

子查询可以指嵌套在查询内部,且必须始终出现在圆括号内。
子查询可以包含多个关键字或条件
如:DISTINCT GROUP BY ORDER BY LIMIT 函数等。
子查询的外层查询可以是:SELECT,INSERT,UPDATE,SET或DO.

子查询返回值:
子查询可以返回标量、一行、一列或子查询。

3.1 使用比较运算符的子查询:
= 、> 、<、>=、<=、<>、!=、<=>、
语法结构:
operand comparsion_operator subquery
在这里插入图片描述
求平均价格
在这里插入图片描述
将平均价格四舍五入,保留两位数字。

在这里插入图片描述
使用子查询查看大于平均价格的商品的 id name price.
在这里插入图片描述
按商品种类查找

用ANY SOME ALL修饰的比较运算符
在这里插入图片描述
在这里插入图片描述
3.2 使用[NOT] IN 的子查询:
operand comparison_operator [NOT] IN (subquery)
= ANY 运算符与IN等效。
!= ALL 或<> ALL运符 与 NOT IN 等效。
在这里插入图片描述

3.3 使用[NOT] EXISTS 的子查询:
如果子查询返回任何行,EXISTS将返回TRUE; 否则为FALSE.

  1. 将查询结果写入数据表:
    INSERT [INTO] tbl_name [(col_name,…)]
    SELECT…
    在这里插入图片描述
    将查询到的商品种类插入到商品种类表中。
    5.多表更新:
    UPDATE table_references
    SET col_name1 = {expr1 | DEFAULT}
    [, col_name2 = {expr2 | DEFAULT}]…
    [WHERE where_condition]

语法结构:
table_reference
{[INNER | CROSS] JOIN | {LEFT | RIGHT} [OUTER] JOIN}
table_reference
ON conditional_expr
在这里插入图片描述
相同项匹配连接 参照商品种类表更新商品表

6.创建数据表同时将查询结果写入带数据表:
CREATE TABLE [IF NOT EXISTS] tbl_name
[(create_definition,…)]
select_statement
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.MySQL在SELECT语句、多表更新,多表删除语句中支持JOIN操作。
语法结构:table_reference
{[INNER | CROSS] JOIN | {LEFT | RIGHT} [OUTER] JOIN}
table_reference
ON conditionnal_expr
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
INNER JOIN 内连接,左右两表的重合部分,都符合条件的部分
LEFT JOIN 左外连接,左表全部加右表符合条件的
RIGHT JOIN 右外连接 ,左表符合加右表全部

多表连接:
在这里插入图片描述
使数据表恢复到原始状态
在这里插入图片描述在这里插入图片描述
8.同一个数据对其自身进行连接:
在这里插入图片描述
对自身数据表进行连接,给前列找到父类。左边父类,右边子类
在这里插入图片描述
左边父类,右边子类。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值