hi
今天有事,一會兒要去耍,能學(xué)多少是多少吧
1、MySQL
-----子查詢與連接(二)-----
----子查詢
子查詢,是指出現(xiàn)在其他SQL語句內(nèi)的SELECT子句
注意:子查詢指嵌套在查詢內(nèi)部,且必須始終出現(xiàn)在圓括號內(nèi);可以包含多個關(guān)鍵字或條件;外層查詢可以是SELECT,INSERT,UPDATE,SET或DO
子查詢的返回,可以是標量、一行、一列或者是一個子查詢
可以分為三類:使用比較運算符的=,>=等;NOT IN ;EXIST
----使用比較運算符實現(xiàn)子查詢
--
mysql> SELECT goods_id,goods_name,goods_PRice FROM tdb_goods WHERE goods_price>=5391.30;
這里的數(shù)字可以不用管,就是之前獲取的一個平均值。
所以要是想直接得到這個平均值參與的結(jié)果,用子查詢這樣寫
mysql> SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=(SELECT ROUND(AVG(goods_price),2) FROM tdb_goods);
這里可以看到,子查詢在小括號中,用到了>=
--
當子查詢返回多個結(jié)果,而主查詢用不到這么多時,可以用ANY SOME ALL關(guān)鍵字
其中ANY和SOME一樣,滿足其中一個就好,具體是哪個 要看運算符是什么(比如>就大于最小值就行)
ALL要求滿足所有返回的要求
用法是寫在子查詢小括號的前面
----由IN或NOT IN引發(fā)的子查詢
其實IN 與=ALL運算符等價,NOT IN與=!ALL等價
用法也類似
----EXIST
返回布爾值,用的很少
新聞熱點
疑難解答