Home  >  Article  >  php教程  >  今天有事-MySQL,有事-MySQL

今天有事-MySQL,有事-MySQL

WBOY
WBOYOriginal
2016-06-13 08:51:351185browse

今天有事-MySQL,有事-MySQL

  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

返回布尔值,用的很少

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn