首页 > 学院 > 开发设计 > 正文

今天有事-MySQL

2019-11-14 14:41:02
字体:
来源:转载
供稿:网友

  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

返回布尔值,用的很少

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表