37:子查詢與連接
SET 列名 gbk;//改變客戶端數據表的編碼類型。
子查詢
子查詢(Subquery)是指出現在其他SQL語句內的SELECT子句
例如
SELECT * FROM t1 WHERE col1=(SELECT col2 FROM t2);
其中SELECT * FROM t1稱為Outer Query/Outer Statement
SELECT col2 FROM FROM t2,稱為SubQuery
子查詢指嵌套在查詢內部,且必須始終出現在圓括號內。
子查詢可以包含多個關鍵字或者條件。
如DISTINCT,GROUP BY,ORDER BY,LIMIT函數。
子查詢的外層查詢可以是:SELECT,INSERT,UPDATE,SET或DO
子查詢返回值
子查詢可以返回標量,一行,一列,或子查詢。
使用比較運算符的子查詢
使用比較運算符的子查詢
= > < >= <= <> != <=>
語法結構operand comparison_operator subquery
插入數據准備
鏈接:http://pan.baidu.com/s/1qXA5WKk 密碼:m4b0





用ANY,SOME或者ALL修飾的比較運算符





使用IN 或者NOT IN的子查詢
語法結構
operand comparison_operator [NOT] IN(subquery)
=ANY運算符與IN等效
!=ALL或者<>ALL 運符與NOT IN等效。
使用[NOT ]EXISTS的子查詢
如果子查詢返回任何行,EXISTS將返回TRUE,否則位FALSE;
將查詢結果寫入到數據表





多表更新
UPDATE 表的參照關系
SET 更新的值
WHERE 條件
表的參照關系
(1)INNER JOIN
(2)LEFT JOIN
(3)OUTER JOIN
ON 連接條件
連接類型
INNER JOIN 內連接
在MySql中,JOIN,CROSS,JOIN和INNER JOIN是等價的。
LEFT[OUTER]JOIN,左外連接
RIGHT[OUTER]JOIN,右外連接

