成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL左連接、右連接和內連接詳解

數據庫 MySQL
本文向您簡單介紹MySQL的ySQL左連接、右連接和內連接,并對具體的操作情況給出簡單示例。

以MySql為例。在MySQL數據庫中建立兩張數據表,并分別插入一些數據。

示例腳本如下:

  1.  drop table table1;   
  2.   CREATE TABLE `andrew`.`table1`   
  3.   (   
  4.   `nameVARCHAR(32) NOT NULL,   
  5.   `city` VARCHAR(32) NOT NULL   
  6.   )   
  7.   ENGINE = MyISAM;   
  8.   insert into TABLE1(name, city) values ('Person A''BJ');   
  9.   insert into TABLE1(name, city) values ('Person B''BJ');   
  10.   insert into TABLE1(name, city) values ('Person C''SH');   
  11.   insert into TABLE1(name, city) values ('Person D''SZ');   
  12.   commit;   
  13.   drop table table2;   
  14.   CREATE TABLE `andrew`.`table2`   
  15.   (   
  16.   `nameVARCHAR(32) NOT NULL,   
  17.   `city` VARCHAR(32) NOT NULL   
  18.   )   
  19.   ENGINE = MyISAM;   
  20.   insert into TABLE2(name, city) values ('Person W''BJ');   
  21.   insert into TABLE2(name, city) values ('Person X''SH');   
  22.   insert into TABLE2(name, city) values ('Person Y''SH');   
  23.   insert into TABLE2(name, city) values ('Person Z''NJ');   
  24.   commit

1. MySQL外連接 – 左連接結果

table1居左,故謂之左連接。這種情況下,以table1為主,即table1中的所有記錄均會被列出。有一下三種情況:

a. 對于table1中的每一條記錄對應的城市如果在table2中也恰好存在而且剛好只有一條,那么就會在

返回的結果中形成一條新的記錄。如上面Person A和Person B對應的情況。

b. 對于table1中的每一條記錄對應的城市如果在table2中也恰好存在而且有N條,那么就會在返回的結果中形成N條新的記錄。如上面的Person C對應的情況。

c. 對于table1中的每一條記錄對應的城市如果在table2中不存在,那么就會在返回的結果中形成一條

條新的記錄,且該記錄的右邊全部NULL。如上面的Person D對應的情況。

不符合上面三條規則的記錄不會被列出。

2. MySQL外連接 – 右連接結果

table2居右,故謂之右連接。這種情況下,以table2為主,即table2中的所有記錄均會被列出。有一下三種情況:

a. 對于table2中的每一條記錄對應的城市如果在table1中也恰好存在而且剛好只有一條,那么就會在

返回的結果中形成一條新的記錄。如上面Person X和Person Y對應的情況。

b. 對于table2中的每一條記錄對應的城市如果在table1中也恰好存在而且有N條,那么就會在返回的結果中形成N條新的記錄。如上面的Person W對應的情況。

c. 對于table2中的每一條記錄對應的城市如果在table1中不存在,那么就會在返回的結果中形成一條

條新的記錄,且該記錄的左邊全部NULL。如上面的Person Z對應的情況。

不符合上面三條規則的記錄不會被列出。

3. MySQL內連接

MySQL內連接的數據記錄中,不會存在字段為NULL的情況。可以簡單地認為,內鏈接的結果就是在左連接或者右連接的結果中剔除存在字段為NULL的記錄后所得到的結果。甚至可以認為,如果兩個表中僅分別剩下內連接運算后所得的數據記錄,如table1中只有Person A、Person B和Person C,table2中只有Person W、Person X和Person Y,那么這兩個表的之間的左連接和右連接的返回的結果是一樣的。

注意:select * from table1 a inner join table2 b on a.city = b.city 和select * from table1 a join table2 b on a.city = b.city 的效果是一樣的,即如果join的左邊沒有諸如left、right或者inner這樣的關鍵字時,缺省的是內連接。另外,MySQL不支持full join。

 

【編輯推薦】

  1. MySQL數據庫性能優化的關鍵參數
  2. MySQL將采用新的開發和發布模式
  3. MySQL中隱藏空間問題淺析
  4. 如何在NetBeans中連接MySQL數據庫
  5. MySQL索引分類和各自用途
責任編輯:佚名 來源: IT專家網
相關推薦

2015-08-21 13:50:49

Oracle連接

2010-09-17 16:17:13

SQL內連接

2011-03-28 14:04:10

SQL左連接右連接

2010-11-08 15:47:01

SQL Server外

2010-11-11 13:51:36

SQL Server內

2010-11-04 15:56:13

DB2內連接查詢

2010-11-23 10:34:04

MySQL左連接查詢

2011-06-24 10:54:34

Qt Mysql

2010-08-26 11:48:30

DB2外連接交叉連接

2010-04-20 08:53:42

Oracle左連接

2017-08-31 14:57:53

數據庫MySQLJOIN

2009-09-24 15:53:00

Hibernate J

2018-06-06 11:01:25

HTTP長連接短連接

2010-05-10 15:48:37

Unix連接

2011-06-01 13:54:10

MySQL

2021-03-24 09:06:01

MySQL長連接短連接

2010-08-24 09:29:37

內連接全連接

2010-09-26 14:12:35

SQL內連接

2009-11-26 08:52:04

XManager連接O

2011-07-04 17:18:23

Qt SQLite 數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色婷婷久久久亚洲一区二区三区 | 中文字幕欧美日韩 | 中文成人在线 | 日日夜夜天天 | 国产精品一区二区视频 | 欧美日本韩国一区二区三区 | 日韩欧美综合在线视频 | 国产成人99久久亚洲综合精品 | 青青久久av北条麻妃海外网 | av在线三级 | 久久久av中文字幕 | 好姑娘高清在线观看电影 | 精品国产视频 | 免费黄色录像片 | 狠狠色综合网站久久久久久久 | 日韩高清www | 成人免费在线观看 | 精品久久99 | 黑人成人网 | 亚洲最大成人综合 | 久久av一区二区三区 | 一区中文字幕 | 久久a久久| 一区二区免费视频 | 国产精品一区二区无线 | 中文字幕爱爱视频 | a免费观看 | 成人毛片在线视频 | 这里有精品| 国产综合网站 | 国产精品一区二区视频 | 性色av一区| 91se在线| 欧美精品91爱爱 | 成人国产精品久久久 | 国产高清自拍视频在线观看 | 婷婷综合色 | 久久国产精品一区二区三区 | a在线观看免费 | 久久久久久高潮国产精品视 | 免费观看国产视频在线 |