首页 > 数据库技术 > 详细

今天有事-MySQL

时间:2015-11-06 19:21:08      阅读:276      评论:0      收藏:0      [点我收藏+]

  hi

今天有事,一会儿要去耍,能学多少是多少吧

1、MySQL

-----子查询与连接(二)-----

----子查询

子查询,是指出现在其他SQL语句内的SELECT子句

注意:子查询指嵌套在查询内部,且必须始终出现在圆括号内;可以包含多个关键字或条件;外层查询可以是SELECT,INSERT,UPDATE,SET或DO

子查询的返回,可以是标量、一行、一列或者是一个子查询

可以分为三类:使用比较运算符的=,>=等;NOT IN ;EXIST

----使用比较运算符实现子查询

--

mysql> SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=5391.30;

这里的数字可以不用管,就是之前获取的一个平均值。

所以要是想直接得到这个平均值参与的结果,用子查询这样写

mysql> SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=(SELECT ROUND(AVG(goods_price),2) FROM tdb_goods);

这里可以看到,子查询在小括号中,用到了>=

--

当子查询返回多个结果,而主查询用不到这么多时,可以用ANY SOME ALL关键字

其中ANY和SOME一样,满足其中一个就好,具体是哪个 要看运算符是什么(比如>就大于最小值就行)

ALL要求满足所有返回的要求

用法是写在子查询小括号的前面

----由IN或NOT IN引发的子查询

其实IN 与=ALL运算符等价,NOT IN与=!ALL等价

用法也类似

----EXIST

返回布尔值,用的很少

 

今天有事-MySQL

原文:http://www.cnblogs.com/andy1202go/p/4943344.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!