>  기사  >  php教程  >  今天有事-MySQL,有事-MySQL

今天有事-MySQL,有事-MySQL

WBOY
WBOY원래의
2016-06-13 08:51:351145검색

今天有事-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

返回布尔值,用的很少

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.