国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

sql中內(nèi)連接與外連接與交叉連接用法

2024-07-24 12:38:58
字體:
供稿:網(wǎng)友

文章介紹了在mysql中的內(nèi)連接與外連接與交叉連接用法與舉例說明了,有需要了解的朋友可以參考一下下.

一)內(nèi)連接 

SQL INNER JOIN 關(guān)鍵字,在表中存在至少一個(gè)匹配時(shí),INNER JOIN 關(guān)鍵字返回行,內(nèi)連接查詢操作列出與連接條件匹配的數(shù)據(jù)行,它使用比較運(yùn)算符比較被連接列的列值,內(nèi)連接分三種:

1、等值連接:在連接條件中使用等于號(hào)(=)運(yùn)算符比較被連接列的列值,其查詢結(jié)果中列出被連接表中的所有列,包括其中的重復(fù)列.

語法,代碼如下:

  1. SELECT column_name(s) 
  2. FROM table_name1 
  3. INNER JOIN table_name2  
  4. ON table_name1.column_name=table_name2.column_name 
  5. --Vevb.com 

注釋:INNER JOIN 與 JOIN 是相同的.

,下面使用等值連接列出authors和publishers表中位于同一城市的作者和出版社,代碼如下:

  1. SELECT *  
  2. FROM authors AS a INNER JOIN publishers AS p  
  3. ON a.city=p.city   

2、不等連接:在連接條件使用除等于運(yùn)算符以外的其它比較運(yùn)算符比較被連接的列的列值,這些運(yùn)算符包括>、>=、<=、<、!>、!<和<>.

3、自然連接:在連接條件中使用等于(=)運(yùn)算符比較被連接列的列值,但它使用選擇列表指出查詢結(jié)果集合中所包括的列,并刪除連接表中的重復(fù)列.

例,在選擇列表中刪除authors 和publishers 表中重復(fù)列(city和state),代碼如下:

  1. SELECT a.*,p.pub_id,p.pub_name,p.country  
  2. FROM authors AS a INNER JOIN publishers AS p  
  3. ON a.city=p.city 

二)外連接

LEFT JOIN 關(guān)鍵字會(huì)從左表(table_name1)那里返回所有的行,即使在右表 (table_name2)中沒有匹配的行.

外連接,返回到查詢結(jié)果集合中的不僅包含符合連接條件的行,而且還包括左表(左外連接或左連接))、右表(右外連接或右連接)或兩個(gè)邊接表(全外連接)中的所有數(shù)據(jù)行.

left join(左聯(lián)接) 返回包括左表中的所有記錄和右表中聯(lián)結(jié)字段相等的記錄;

right join(右聯(lián)接) 返回包括右表中的所有記錄和左表中聯(lián)結(jié)字段相等的記錄;

LEFT JOIN 關(guān)鍵字語法,代碼如下:

  1. SELECT column_name(s) 
  2. FROM table_name1 
  3. LEFT JOIN table_name2  
  4. ON table_name1.column_name=table_name2.column_name 

注釋:在某些數(shù)據(jù)庫中,LEFT JOIN 稱為 LEFT OUTER JOIN.

例如1,代碼如下:

  1. SELECT a.*,b.* FROM luntan LEFT JOIN usertable as b  
  2. ON a.username=b.username   

例如2,代碼如下:

  1. SELECT a.*,b.*  
  2. FROM city as a FULL OUTER JOIN user as b  
  3. ON a.username=b.username 

三),交叉連接

交叉連接不帶WHERE 子句,它返回被連接的兩個(gè)表所有數(shù)據(jù)行的笛卡爾積,返回到結(jié)果集合中的數(shù)據(jù)行數(shù)等于第一個(gè)表中符合查詢條件的數(shù)據(jù)行數(shù)乘以第二個(gè)表中符合查詢條件的數(shù)據(jù)行數(shù),例,titles表中有6類圖書,而publishers表中有8家出版社,則下列交叉連接檢索到的記錄數(shù)將等于6*8=48行.

例如,代碼如下:

  1. SELECT type,pub_name  
  2. FROM titles CROSS JOIN publishers  
  3. ORDER BY type 

SQL JOIN - 使用 Join

除了上面的方法,我們也可以使用關(guān)鍵詞 JOIN 來從兩個(gè)表中獲取數(shù)據(jù),如果我們希望列出所有人的定購,可以使用下面的 SELECT 語句:

  1. SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo 
  2. FROM Persons  --Vevb.com 
  3. INNER JOIN Orders 
  4. ON Persons.Id_P = Orders.Id_P 
  5. ORDER BY Persons.LastName

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 仁布县| 淮滨县| 澜沧| 班戈县| 淮南市| 贵港市| 灵丘县| 土默特右旗| 和平区| 昌邑市| 天水市| 五河县| 宜良县| 台州市| 柏乡县| 抚松县| 佳木斯市| 朝阳县| 沈丘县| 弋阳县| 清丰县| 泌阳县| 霍城县| 红原县| 延边| 永和县| 昌都县| 麦盖提县| 福贡县| 寻乌县| 肥东县| 漠河县| 双流县| 凤凰县| 那曲县| 嘉峪关市| 无为县| 鄂温| 龙岩市| 吉林省| 西峡县|