婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > SQL 外鏈接操作小結 inner join   left join   right join

SQL 外鏈接操作小結 inner join   left join   right join

熱門標簽:沈陽外呼系統有效果嗎 商家地圖標注圖片 電話機器人接口是什么樣的 AI智能云呼電話機器人怎么注冊 百度地圖標注信息怎么修改 怎么在高德地圖標注多個點 四川穩定外呼系統公司 溫州語音外呼系統排名 福州外呼系統招商
數據庫操作語句 
7. 外連接——交叉查詢
7.1 查詢 
7.2 等值連接
7.3 右外連接
7.4 左外連接
7.5 更新操作

簡介:

外部連接和自聯接
inner join(等值連接) 只返回兩個表中聯結字段相等的行
left join(左聯接) 返回包括左表中的所有記錄和右表中聯結字段相等的記錄
right join(右聯接) 返回包括右表中的所有記錄和左表中聯結字段相等的記錄
on 指定表間聯結字段及其關系的等號 "=" 表達式, 返回 true 或 false. 當表達式返回 true 時, 則查詢中包含該記錄. 
! 外部連接只能操作已存在于數據庫中的數據

7.5.2

 程序代碼
Update (ctarticle AS a LEFT JOIN ctclass AS c ON a.classid = c.classid) LEFT JOIN cttag AS b ON a.articleid = b.articleid 
SET tag=tag+' ', b.articleid=a.articleid, b.classid=a.classid, b.nclassid=a.nclassid 
Where a.classid=23 AND a.nclassid=0 AND tagid is not null


7.5.1 

 程序代碼
Update (ctarticle AS a LEFT JOIN (ctnclass AS c LEFT JOIN ctclass AS d ON c.classid = d.classid) ON a.nclassid = c.nclassid AND a.classid = c.classid) LEFT JOIN cttag AS b ON a.articleid = b.articleid SET tag=d.class+' '+c.nclass, b.articleid=a.articleid, b.classid=a.classid, b.nclassid=a.nclassid Where a.classid=23 AND a.nclassid=197;


7.5 更新操作

74.5 左連接中數據的篩選

 程序代碼
Insert INTO cttag(articleid,classid,nclassid) Select a.articleid,a.classid,a.nclassid from ctarticle a left join cttag b on a.articleid=b.articleid where b.articleid is null

//本語句功能為, 顯示主表的全部內容, 插入數據到副表中沒有的數據
//主要作用為: 讓數據減少冗余

7.4.4.1 上例中的延續

 程序代碼
Select a.*, b.*, c.*, d.*
FROM cttag as d left join ((ctarticle AS a LEFT JOIN ctclass AS b ON a.classid=b.classid) LEFT JOIN ctnclass AS c ON a.nclassid=c.nclassid) on d.articleid=a.articleid;


7.4.4 顯示文章表中的全部, 調用類別表中的欄目

 程序代碼
select a.*, b.*, c.* from (ctarticle a left join ctclass b on a.classid=b.classid) left join ctnclass c on a.nclassid=c.nclassid

//作用, 有時在文章表中包含了在個別類別表中沒有的數據, 用這個語法可以讀出文章表的全部數據
//a 為 文章表, b 為主類別, c 為子類別

7.4.3 同上例, 選擇追加數據時加上空格

 程序代碼
Insert INTO cttag(articleid,classid,nclassid,tag)
Select a.articleid,a.classid,a.nclassid,d.class+' '+c.nclass
FROM (ctarticle AS a left join (ctnclass c left join ctclass d on c.classid=d.classid) on a.classid=c.classid and a.nclassid=c.nclassid) LEFT JOIN cttag AS b ON a.articleid = b.articleid where a.classid=4 and a.nclassid=154;


7.4.2 連接N個表, 并追加數據到其中一個表, N=4

 程序代碼
Insert INTO cttag(articleid,classid,nclassid,tag)
Select a.articleid,a.classid,a.nclassid,d.class+c.nclass
FROM (ctarticle AS a left join (ctnclass c left join ctclass d on c.classid=d.classid) on a.classid=c.classid and a.nclassid=c.nclassid) LEFT JOIN cttag AS b ON a.articleid = b.articleid where a.classid=1 and a.nclassid=1;

//解讀
插入到 表2(欄1,欄2,欄3,欄4)
選擇 別名a.欄1, 別名a.欄2, 別名a.欄3, 別名d.欄4 加上 別名c.欄5
從 (表1 別名a 左連接 (表3 別名c 左連接 表4 別名d 在 別名c.欄2 等于 別名d.欄2) 在 別名a.欄2 等于 別名c.欄2 和 別名a.欄3=別名c.欄3) 左連接 表2 別名b 在 別名a.欄1 等于 別名b.欄1 在那里 別名a.欄2=1 和 別名a.欄3=1

7.4.1 連接兩個表, 并追加數據到其中一個表

 程序代碼
Insert INTO cttag(articleid,classid,nclassid)
Select a.articleid,a.classid,a.nclassid
FROM ctarticle AS a LEFT JOIN cttag AS b ON a.articleid = b.articleid where a.classid=1 and a.nclassid=1;

//解讀
插入到 表2(欄1,欄2,欄3)
選擇 別名a.欄1, 別名a.欄2, 別名a.欄3
從 表1 別名a 左連接 表2 別名b 在 別名a.欄1 等于 別名b.欄1 在那里 別名a.欄4=1 和 別名a.欄5=1

7.4. 左連接

7.3.1 同步兩表的數據

 程序代碼
Update ctarticle a INNER JOIN cttag b ON a.articleid = b.articleid SET b.classid=a.classid, b.nclassid=a.nclassid;

//解讀
更新 表1 別名a 聯接 表2 別名2 在 別名a.欄1 等于 別名b.欄1 設置 別名b.欄2 更新為 別名a.欄2, 別名b.欄3 更新為 別名a.欄3 

7.3 右外連接

 程序代碼
select a.*, b.* from bunclass a right join ctclass b on a.classid=b.classid where a.nclassid=20

查詢別名 a,b 表, 只匹配 b 表中的內容.

7.2.3 添加數據到連接表之一

 程序代碼
Insert INTO cttag ( tag, articleid ) Select top 1 b.tag, a.articleid FROM ctarticle AS a left JOIN cttag AS b ON a.articleid = b.articleid Where a.articleid order by a.articleid desc;


7.2.2 變通中的用法二

 程序代碼
Insert INTO bureply 
Select b.*, a.classid, a.nclassid
FROM article AS a INNER JOIN reply AS b ON a.articleid = b.articleid
Where classid=50;


7.2.1 實際應用中的變通

 程序代碼
Insert INTO butag ( tag, articleid, classid, nclassid)
Select b.tag, a.articleid, a.classid, a.nclassid
FROM article AS a INNER JOIN tag AS b ON a.articleid = b.articleid
Where classid=24;


7.2 添加數據到其他表

 程序代碼
Insert INTO butag ( tag, articleid )
Select b.tag, a.articleid
FROM article AS a INNER JOIN tag AS b ON a.articleid = b.articleid
Where a.articleid>False;

//解讀
添加到 接收表(列1,列2)
選擇 別名b.列1, 別名a.列2
從 表1 表名a 聯接 表2 表名b 在 別名a.列c 等于 別名b.列c
在哪里 別名a.列c 不等于 沒有

7.1.1 實際應用中的變通

 程序代碼
Select b.tag, a.articleid, a.classid, a.nclassid
FROM article AS a INNER JOIN tag AS b ON a.articleid = b.articleid
Where a.classid=24;


7.1 查詢

 程序代碼
Select b.tag, a.articleid
FROM article AS a INNER JOIN tag AS b ON a.articleid = b.articleid
Where a.articleid>False;

//解讀
選擇 別名b.列, 別名a.列
從 表1 別名a 聯接 表2 別名b 在 別名a.列c = 別名b.列c
在哪里 別名a.列c 不等于 沒有
注: as 不是必要

7. 外連接——交叉查詢
提示: 注意表中相同的欄目 
您可能感興趣的文章:
  • 超詳細mysql left join,right join,inner join用法分析
  • 數據庫Left join , Right Join, Inner Join 的相關內容,非常實用
  • 解析sql語句中left_join、inner_join中的on與where的區別
  • SQL之left join、right join、inner join的區別淺析
  • inner join 內聯與left join 左聯的實例代碼
  • inner join和left join之間的區別詳解

標簽:營口 寶雞 邯鄲 來賓 汕尾 七臺河 無錫 西寧

巨人網絡通訊聲明:本文標題《SQL 外鏈接操作小結 inner join   left join   right join》,本文關鍵詞  SQL,外,鏈接,操作,小結,inner,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL 外鏈接操作小結 inner join   left join   right join》相關的同類信息!
  • 本頁收集關于SQL 外鏈接操作小結 inner join   left join   right join的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 密云县| 湟源县| 普定县| 南皮县| 怀宁县| 化州市| 西乌珠穆沁旗| 三门县| 兴安县| 岢岚县| 永年县| 泰宁县| 兴隆县| 伊金霍洛旗| 凤冈县| 枣阳市| 翁牛特旗| 丹江口市| 交城县| 连江县| 钟山县| 绵竹市| 木里| 阿尔山市| 新绛县| 靖西县| 信宜市| 新巴尔虎右旗| 丁青县| 江陵县| 海南省| 闽侯县| 正安县| 文登市| 仁怀市| 西丰县| 桓台县| 云龙县| 中阳县| 南开区| 凤山市|