久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Mysql自連接查詢的示例分析

165次閱讀
沒有評論

共計 1845 個字符,預計需要花費 5 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章將為大家詳細講解有關 Mysql 自連接查詢的示例分析,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

自連接查詢

假想以下場景:某一電商網(wǎng)站想要對站內(nèi)產(chǎn)品做層級分類,一個類別下面有若干子類,子類下面也會有別的子類。例如數(shù)碼產(chǎn)品這個類別下面有筆記本,臺式機,智能手機等;筆記本,臺式機,智能手機又可以按照品牌分類;品牌又可以按照價格分類,等等。也許這些分類會達到一個很深的層次,呈現(xiàn)一種樹狀的結(jié)構(gòu)。那么這些數(shù)據(jù)要怎么在數(shù)據(jù)庫中表示呢?我們可以在數(shù)據(jù)庫中創(chuàng)建兩個字段來存儲 id 和類別名稱,使用第三個字段存儲類別的子類或者父類的 id,最后通過自連接去查詢想要的結(jié)果。

自連接查詢其實等同于連接查詢,需要兩張表,只不過它的左表(父表)和右表(子表)都是自己。做自連接查詢的時候,是自己和自己連接,分別給父表和子表取兩個不同的別名,然后附上連接條件。看下面的例子:

1. 創(chuàng)建數(shù)據(jù)表:

create table tdb_cates(
 id smallint primary key auto_increment,
 cate_name varchar(20) not null,
 parent_id smallint not null
);

注:cate_name 表示分類的名稱,parent_id 表示父類的 id。

2. 插入數(shù)據(jù):

insert into tdb_cates(cate_name, parent_id) values(數(shù)碼產(chǎn)品 , 0);
insert into tdb_cates(cate_name, parent_id) values(家用產(chǎn)品 , 0);
insert into tdb_cates(cate_name, parent_id) values(筆記本 , 1);
insert into tdb_cates(cate_name, parent_id) values(智能手機 , 1);
insert into tdb_cates(cate_name, parent_id) values(電器 , 2);
insert into tdb_cates(cate_name, parent_id) values(家具 , 2);
insert into tdb_cates(cate_name, parent_id) values(冰箱 , 5);
insert into tdb_cates(cate_name, parent_id) values(洗衣機 , 5);
insert into tdb_cates(cate_name, parent_id) values(汽車品牌 , 0);
insert into tdb_cates(cate_name, parent_id) values(別克 , 9);
insert into tdb_cates(cate_name, parent_id) values(寶馬 , 9);
insert into tdb_cates(cate_name, parent_id) values(雪佛蘭 , 9);
insert into tdb_cates(cate_name, parent_id) values(家紡 , 0);

3. 查詢所有分類以及分類的父類:假想有左右兩張表(都是 tdb_cates),左表是子表,右表是父表;查詢子表的 id,子表的 cate_name,父表的 cate_name;連接條件是子表的 parent_id 等于父表的 id。

代碼如下:

select s.id, s.cate_name, p.cate_name from tdb_cates s left join tdb_cates p on s.parent_id=p.id;

4. 查詢所有分類以及分類的子類:還是假想有左右兩張表(都是 tdb_cates),左表是子表,右表是父表;查詢子表的 id,子表的 cate_name,父表的 cate_name;連接條件是子表的 id 等于父表的 parent_id。

代碼如下:

select s.id, s.cate_name, p.cate_name from tdb_cates s left join tdb_cates p on p.parent_id=s.id;

關于“Mysql 自連接查詢的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向 AI 問一下細節(jié)

正文完
 
丸趣
版權聲明:本站原創(chuàng)文章,由 丸趣 2023-12-04發(fā)表,共計1845字。
轉(zhuǎn)載說明:除特殊說明外本站除技術相關以外文章皆由網(wǎng)絡搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 安丘市| 通化县| 高雄市| 剑川县| 偏关县| 泉州市| 阿拉善盟| 会同县| 尼玛县| 文登市| 扎赉特旗| 新兴县| 宣武区| 宁都县| 波密县| 班玛县| 呼和浩特市| 株洲市| 长兴县| 雅安市| 南江县| 凤城市| 澄迈县| 开原市| 云龙县| 巨鹿县| 青冈县| 资源县| 合作市| 江孜县| 晋州市| 巢湖市| 舞钢市| 沭阳县| 如皋市| 盐源县| 化州市| 陈巴尔虎旗| 昌乐县| 甘谷县| 麻江县|