国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

mysql - SQL問個(gè)基礎(chǔ)例子,書上的,我怎么看都看不懂..誰幫我解釋一下第2個(gè)為什么和第1個(gè)一樣?

瀏覽:114日期:2022-06-21 18:50:51

問題描述

SELECT id, name, cidfrom shbookswhere cid=(SELECT cid FROM shbookswhere name= ’光榮與夢(mèng)想’);

上面這個(gè)我完全看得懂,返回<光榮與夢(mèng)想>的cid,然后用這個(gè)值作為條件,匹配整個(gè)表的cid;

SELECT b1.id, b1.name, b1.cidfrom shbooks b1, shbooks b2 where b1.cid=b2.cidand b2.name=’光榮與夢(mèng)想’;

但是這個(gè),條件是 b1.cid=b2.cid 的話,會(huì)返回整個(gè)表,為什么加上個(gè) b2.name=’光榮與夢(mèng)想’ 就能返回 和 光榮與夢(mèng)想 相同cid 的別的書???

答案不在長(zhǎng),也不在語言是不是準(zhǔn)確,只要讓我能明白怎么個(gè)邏輯就行了..謝謝了!

問題解答

回答1:

原始

b1.cid b1.name1 光榮與夢(mèng)想2 另一本書1 夢(mèng)想與光榮

條件b1.cid = b2.cid(從9個(gè)結(jié)果中過濾得到5個(gè)結(jié)果)只要理解為什么是9個(gè)結(jié)果,整個(gè)問題應(yīng)該也沒有什么疑問了。

b1.cid b1.name b2.cid b2.name1 光榮與夢(mèng)想 1 光榮與夢(mèng)想1 光榮與夢(mèng)想 1 夢(mèng)想與光榮2 另一本書 2 另一本書1 夢(mèng)想與光榮 1 夢(mèng)想與光榮1 夢(mèng)想與光榮 1 光榮與夢(mèng)想

條件 b2.name=’光榮與夢(mèng)想’就得到

b1.cid b1.name b2.cid b2.name1 光榮與夢(mèng)想 1 光榮與夢(mèng)想1 夢(mèng)想與光榮 1 光榮與夢(mèng)想

我就是提問的的人,這是我補(bǔ)充的!我給大家解釋解釋到底是怎么回事,其實(shí)邏輯就是自己把自己當(dāng)倆表;然后算自己的的笛卡爾集,然后再用第二個(gè)條件篩選!回答2:

你的第一種寫法如果存在多條cid是不是就出錯(cuò)了?你可以參考下面的寫法:

/*子查詢*/select id,name,cid from shbooks where cid in (select cid from shbooks where name=’’);--或者這種寫法select id,name,cid from shbooks outerquerywhere cid exists (select 1 from shbooks innerquery where outerquery.cid = innerquery.cid and innerquery.name=’’);

至于你的第二種寫法,你了解inner join嗎?你看看下面的寫法是不是更好懂些?

select id,name,cid from shbooks main inner join (select cid from shbooks where name = ’’) child on main.cid = child.cid; select id,name,cid from shbooks main inner join shbooks child on main.cid = child.cid where child.name = ’’;

最后問問,你都是按書上例子寫的?如果是,我建議最好不要看那本書了!

回答3:

條件是兩個(gè)啊大兄弟,b2.name=’光榮與夢(mèng)想’ 同時(shí) b1.cid = b2.cid

回答4:

看成兩個(gè)不同的表就行,這是自聯(lián)接

回答5:

@碎鏡 他的是正解,先笛卡爾集,然后進(jìn)行篩選。這是是實(shí)現(xiàn)原理。不過一般這種語句SQL會(huì)自動(dòng)優(yōu)化。并不會(huì)真的先做出笛卡爾積然后進(jìn)行篩選。

主站蜘蛛池模板: 男人的天堂久久精品激情 | 在线一区视频 | 国产精品无打码在线播放9久 | 亚洲精品日韩中文字幕久久久 | 深夜福利视频大全在线观看 | 香蕉超级碰碰碰97视频蜜芽 | 美女被强行扒开双腿激情视频 | 韩国特级毛片 | 欧美精品在线免费观看 | 欧美 日韩 国产 在线 | 日韩视频欧美视频 | 国产一区精品 | 中文字幕无线码中文字幕网站 | 日韩精品在线一区 | 亚洲一区二区三区在线网站 | 亚洲欧美在线免费观看 | 亚洲国产高清一区二区三区 | 男操女b| 国产在线综合一区二区三区 | 视频在线亚洲 | 男女视频在线观看免费 | www.日本在线观看 | 国产欧美日韩中文久久 | 免费一区在线观看 | 男人的天堂毛片 | 国产v欧美v日韩在线观看 | 国产一级内谢a级高清毛片 国产一级片毛片 | 一级一级一片免费 | a级毛片免费高清视频 | 久久精品国产精品亚洲20 | 一级视频在线播放 | 在线久| 一级片欧美 | 美女张开腿 | 久久99精品久久久久久国产越南 | 三级视频中文字幕 | 欧美午夜在线观看理论片 | 亚洲综合一区二区三区 | 久久久精品免费视频 | 日本美女视频韩国视频网站免费 | 亚洲一区三区 |