inner join 和 left join

/*表結(jié)構(gòu)及數(shù)據(jù)*/

CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `sex` varchar(2) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

INSERT INTO `test` VALUES ('1', '張三', '18', '男');
INSERT INTO `test` VALUES ('2', '李四', '20', '女');
INSERT INTO `test` VALUES ('3', '王五', '32', '男');

/*--------------------------*/

CREATE TABLE `demo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `uid` int(11) DEFAULT NULL,
  `change` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

INSERT INTO `demo` VALUES ('1', '2', '15');
INSERT INTO `demo` VALUES ('2', '3', '58');
INSERT INTO `demo` VALUES ('3', '2', '16');

情況1:on條件是1=1
sql

/*當(dāng)on的條件是1=1的時(shí)候,inner join和left join的結(jié)果是一致的*/
select * from test left join demo on 1 = 1;
select * from test inner join demo on 1 = 1

結(jié)果:(條數(shù)是:3*3=9條)

查詢結(jié)果圖

情況2:添加實(shí)際的on條件,一個(gè)on條件,left join方式

/**
在情況1的基礎(chǔ)上,挨個(gè)判斷是否滿足on的條件,如果滿足則保留
如果不滿足,則左表保留一條記錄,右表的記錄為null
**/

select * from test left join demo on test.id = demo.uid;
left join 一個(gè)on條件

情況3:添加實(shí)際的on條件,一個(gè)on條件,inner join方式

/**
在情況1的基礎(chǔ)上,挨個(gè)判斷是否滿足on的條件,如果滿足則保留,如果不滿足,則丟棄
**/

select * from test inner join demo on test.id = demo.uid;
inner join 一個(gè)on條件

情況4:添加實(shí)際的on條件,兩個(gè)on條件,left join方式

/**
在情況1的基礎(chǔ)上,挨個(gè)判斷是否同時(shí)滿足on的所有條件,如果滿足則保留
如果不滿足,則左表保留一條記錄,右表的記錄為null
**/

select * from test left join demo on test.id = demo.uid and test.id > 2;
left join 兩個(gè)on條件

情況5:添加實(shí)際的on條件,兩個(gè)on條件,inner join方式

/**
在情況1的基礎(chǔ)上,挨個(gè)判斷是否同時(shí)滿足on的所有條件,如果滿足則保留
如果不滿足,則丟棄
**/

select * from test inner join demo on test.id = demo.uid and test.id > 2;
inner join 兩個(gè)on條件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • MySQL技術(shù)內(nèi)幕:SQL編程 姜承堯 第1章 SQL編程 >> B是由MySQL創(chuàng)始人之一Monty分支的一個(gè)版...
    沉默劍士閱讀 2,636評(píng)論 0 3
  • 1、MySQL啟動(dòng)和關(guān)閉(安裝及配置請(qǐng)參照百度經(jīng)驗(yàn),這里不再記錄。MySQL默認(rèn)端口號(hào):3306;默認(rèn)數(shù)據(jù)類型格式...
    強(qiáng)壯de西蘭花閱讀 760評(píng)論 0 1
  • 1、創(chuàng)建練習(xí)使用的數(shù)據(jù)表 goods_id —— 商品編號(hào)goods_name —— 商品名稱goods_cate...
    黒貓閱讀 1,102評(píng)論 0 4
  • 一 陽光明媚四月天, 清明祭祖驅(qū)車還。 輕跨黃河躍濕地, 吳王古渡浮橋連。 枯水季節(jié)河見底, 引得游人下河玩。 人...
    笑傲江湖之秋雨閱讀 534評(píng)論 4 2
  • 大家都說我是一個(gè)說干就干的人,今天我要說走就走! 昨天除了故事媽媽課前、課、課后得全力以赴,處理了兩個(gè)學(xué)校的復(fù)雜的...
    陳湘閱讀 461評(píng)論 0 0

友情鏈接更多精彩內(nèi)容