《MYSQL教程mysql子查詢的實例總結(jié)》要點:
本文介紹了MYSQL教程mysql子查詢的實例總結(jié),希望對您有用。如果有疑問,可以聯(lián)系我們。
MYSQL數(shù)據(jù)庫本節(jié)內(nèi)容:
mysql子查詢
MYSQL數(shù)據(jù)庫一、有 = <> > < >= <= 的子查詢
格局:
?
MYSQL數(shù)據(jù)庫例子:
?
MYSQL數(shù)據(jù)庫子查詢返回一個離散值(一列一行),假如有ANY或ALL的修飾,可以返回一個離散值列表(一列多行) ,其實 col = ANY 就相當(dāng)于col IN.
MYSQL數(shù)據(jù)庫二、IN 子查詢
格局:
?
MYSQL數(shù)據(jù)庫在有IN謂詞的這個子查詢中,返回一個離散值列表(一列多行).
MYSQL數(shù)據(jù)庫三、SELECT ROW 字查詢,注意返回值是0或1
格局:
?
MYSQL數(shù)據(jù)庫如果第2條查詢必需返回一組離散值(多列單行),如果有ANY和SOME謂詞的修飾,返回一組離散值列表
MYSQL數(shù)據(jù)庫例子:
?
MYSQL數(shù)據(jù)庫在`ydfzx_software_class`里查找有沒有`ID`=1,`caption`='操作系統(tǒng)',`status`=1的記載,有就返回1,沒有就返回NULL 或 0.
MYSQL數(shù)據(jù)庫四、EXISTS 子查詢
格局:
?
MYSQL數(shù)據(jù)庫解釋:
主查詢先查詢出數(shù)據(jù),再逐條通過EXISTS子查詢驗證,只有子查詢返回的記錄數(shù)不為0時,主查詢中的記錄有效.
這個查詢開銷比擬大.
MYSQL數(shù)據(jù)庫例子:
?
MYSQL數(shù)據(jù)庫例子:找出users表中那些在xl表中有xl=小學(xué)的記錄,他們的共同鍵為id
?
MYSQL數(shù)據(jù)庫等效于:
?
MYSQL數(shù)據(jù)庫結(jié)果為:
┏━━━┯━━━┯━━━━┓
┃ uid │name │address ┃
┃ 2 │晨光 │fuyang ┃
┗━━━┷━━━┷━━━━┛
MYSQL數(shù)據(jù)庫五、衍生數(shù)據(jù)表子查詢
格局: SELECT ... FROM (SELECT ...) AS name WHERE .
首先執(zhí)行子查詢生成臨時表,外層查詢再到此臨時表中獲取數(shù)據(jù).
例子:
?
MYSQL數(shù)據(jù)庫等效于:
?
MYSQL數(shù)據(jù)庫實用例子:
有一存儲樹形目錄的表tb, 共有3個字段,ID,classname,fatherid,每個節(jié)點一條記錄.ID字段為非重復(fù)字段,classname為此節(jié)點的名稱,每個子節(jié)點的fatherid等于其父節(jié)點的ID,如果fatherid為0,表現(xiàn)它為頂層節(jié)點,如何能一次就查詢出各頂層節(jié)點有沒有子節(jié)點呢,經(jīng)過調(diào)試,以下語句執(zhí)行成功.
?
MYSQL數(shù)據(jù)庫SELECT `ID` , `classname` , `fatherid` ,
MYSQL數(shù)據(jù)庫IF(
(SELECT COUNT(`ID` )
FROM `tb`
WHERE `fatherid` = `main`.`ID`
) >0, 1, 0) AS `haveson`
MYSQL數(shù)據(jù)庫FROM `tb` AS `main`
WHERE `fatherid` =0
維易PHP培訓(xùn)學(xué)院每天發(fā)布《MYSQL教程mysql子查詢的實例總結(jié)》等實戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/14342.html