MySQL子查询与连接

子查询:出现在其他SQL语句内的SELECT子句
!子查询必须出现在圆括号内
!子查询的返回值可以是标量、一行记录、一列、或子查询

使用比较运算的子查询
operand comparison_operator subquery
 SELECT * FROM tdb_goods WHERE goods_price>=(SELECT AVG(goods_price) FROM tdb_goods);
当子查询返回多行结果时
 可以使用使用修饰比较运算符:ANY/SOME(满足其中一个),ALL(满足所有)
 SELECT * FROM tdb_goods WHERE goods_price>=ALL(SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本');
 
 使用[NOT] IN 的子查询,与修饰比较运算符类似
 
 使用[NOT] EXISTS的子查询

 如果子查询返回任何行,EXISTS将返回TRUE,否则返回FALSE


=============
||   连接  ||
=============
    table_reference
    {[INNER|CROSS]|{LEFT|RIGHT} [OUTER] JOIN}
    table_reference
    ON conditional_expr
三种连接类型:    
INNER JOIN,(在MySQL中INNER JOIN,JOIN,CORSS JOIN 是等价的)
LEFT [OUTER] JOIN,
RIGHT [OUTER] JOIN
连接条件使用一般ON关键字来设定,也可以用WHERE关键字进行结果记录的过滤    
    
INNER JOIN:只显示符合条件的记录
LEFT JOIN :显示左表的全部记录和右表符合条件的记录
RIGHT JOIN :显示右表的全部记录和左表符合条件的记录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值