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

主頁 > 知識庫 > postgreSQL中的內連接和外連接實現操作

postgreSQL中的內連接和外連接實現操作

熱門標簽:地圖標注要花多少錢 電銷機器人能補救房產中介嗎 400電話申請客服 天津開發區地圖標注app 電話機器人怎么換人工座席 移動外呼系統模擬題 江蘇400電話辦理官方 濟南外呼網絡電話線路 廣州電銷機器人公司招聘

測試數據:

city表:

create table city(id int,name text);
insert into city values(0,'北京'),(1,'西安'),(2,'天津'),(3,'上海'),(4,'哈爾濱'),(5,'西藏')

person表:

create table person(id int,lastname char(20));
insert into person values(0,'Tom'),(2,'Lily'),(3,'Mary'),(5,'Coco');
select * from city;

select * from person;

一:內連接:

1.inner join

inner join(等值連接) 只返回兩個表中聯結字段相等的行

sql語句:

select * from city inner join person on city.id = person.id;

也可以寫成:

select * from city join person on city.id = person.id;

結果如下:

從結果可以看出,表格中顯示出了city.id=person.id的記錄,它顯示出了符合這個條件的記錄。

二:外連接:

1.full outer join

full outer join(全外連接)返回參與連接的兩個數據集合中的全部數據

sql語句:

select * from city full outer join person on city.id = person.id;

也可以寫成:

select * from city full join person on city.id = person.id;

結果如下:

從結果可以看出,全外連接得到了city和person表中的全部數據

2.left outer join

left outer join(左連接) 返回包括左表中的所有記錄和右表中連接字段相等的記錄

sql語句:

select * from city left outer join person on city.id = person.id;

也可以寫成:

select * from city left join person on city.id = person.id;

結果如下:

從結果可以看出,左外連接和全外連接的結果一模一樣?

我們在給person中添加一行數據:

insert into person values(9,'Kiki');

在重新執行:

select * from city full join person on city.id = person.id;

結果如下:

select * from city left join person on city.id = person.id;

結果如下:

兩個結果對照著看,left join顯示出了city中的所有記錄和person連接字段相等的記錄

3.right outer join

right outer join(右連接) 返回包括右表中的所有記錄和左表中連接字段相等的記錄

sql語句:

select * from city right outer join person on city.id = person.id;

也可以寫成

select * from city right join person on city.id = person.id;

結果如下:

從結果可以看出,person中的記錄被全部顯示出來,而city中的顯示的數據是根據連接字段相等的記錄

補充:PostgreSQL表連接:內連接,外連接,自連接,交叉連接

搜了搜,基本上都是寫內連接、外連接、交叉連接這三種類型,但我發現PostgreSQL還有自連接。不妨一并寫來做個記錄。

先說概念:

內連接,就是兩個表逐行匹配,匹配上的內容都顯示,沒有匹配的都不顯示。

外連接有三種,左外連接,右外連接,全外連接。

左外連接是以左表為基礎,左表內容全部顯示,右表有匹配到左表的則顯示,否則不顯示。

右外連接是以右表為基礎,右表內容全部顯示,左表有匹配到右表的則顯示,否則不顯示。

全外連接是以兩表為基礎,顯示三部分內容,一部分是內連接的內容,即兩表匹配的內容,一部分是左表有而右表無的,一部分是左表無右表有的。

自連接是逐行,用當前這行數據和這個表中其他行進行匹配。

交叉連接最省事,笛卡爾積,左表m行右表n行,則結果是m*n行。

下面展示具體例子來幫助理解。

下面是兩個表的內容。

mydb=# select * from weather;
   city   | temp_lo | temp_hi | prcp |  date
---------------+---------+---------+------+------------
 San Francisco |   46 |   50 | 0.25 | 1994-11-27
 San Francisco |   43 |   57 |  0 | 1994-11-29
 Hayward    |   37 |   54 |   | 1994-11-29
(3 行記錄)
 
mydb=# select * from cities;
   name   | location
---------------+-----------
 San Francisco | (-194,53)
 London    | (0,51)
(2 行記錄)

內連接有兩種寫法:

mydb=# SELECT *
mydb-#   FROM weather, cities
mydb-#   WHERE city = name;
   city   | temp_lo | temp_hi | prcp |  date  |   name   | location
---------------+---------+---------+------+------------+---------------+-----------
 San Francisco |   46 |   50 | 0.25 | 1994-11-27 | San Francisco | (-194,53)
 San Francisco |   43 |   57 |  0 | 1994-11-29 | San Francisco | (-194,53)
(2 行記錄) 
 
mydb=# SELECT *
mydb-#   FROM weather INNER JOIN cities ON (weather.city = cities.name);
   city   | temp_lo | temp_hi | prcp |  date  |   name   | location
---------------+---------+---------+------+------------+---------------+-----------
 San Francisco |   46 |   50 | 0.25 | 1994-11-27 | San Francisco | (-194,53)
 San Francisco |   43 |   57 |  0 | 1994-11-29 | San Francisco | (-194,53)
(2 行記錄)

外連接有三種:左外連接,右外連接,全外連接。

mydb=# SELECT *
mydb-#   FROM weather LEFT OUTER JOIN cities ON (weather.city = cities.name);
   city   | temp_lo | temp_hi | prcp |  date  |   name   | location
---------------+---------+---------+------+------------+---------------+-----------
 San Francisco |   46 |   50 | 0.25 | 1994-11-27 | San Francisco | (-194,53)
 San Francisco |   43 |   57 |  0 | 1994-11-29 | San Francisco | (-194,53)
 Hayward    |   37 |   54 |   | 1994-11-29 |        |
(3 行記錄) 
 
mydb=# select * from weather right outer join cities on(weather.city=cities.name);
   city   | temp_lo | temp_hi | prcp |  date  |   name   | location
---------------+---------+---------+------+------------+---------------+-----------
 San Francisco |   43 |   57 |  0 | 1994-11-29 | San Francisco | (-194,53)
 San Francisco |   46 |   50 | 0.25 | 1994-11-27 | San Francisco | (-194,53)
        |     |     |   |      | London    | (0,51)
(3 行記錄) 
 
mydb=# select * from weather full outer join cities on(weather.city=cities.name);
   city   | temp_lo | temp_hi | prcp |  date  |   name   | location
---------------+---------+---------+------+------------+---------------+-----------
 San Francisco |   46 |   50 | 0.25 | 1994-11-27 | San Francisco | (-194,53)
 San Francisco |   43 |   57 |  0 | 1994-11-29 | San Francisco | (-194,53)
 Hayward    |   37 |   54 |   | 1994-11-29 |        |
        |     |     |   |      | London    | (0,51)
(4 行記錄)

表交叉連接:

mydb=# SELECT *
mydb-#   FROM weather, cities;
   city   | temp_lo | temp_hi | prcp |  date  |   name   | location
---------------+---------+---------+------+------------+---------------+-----------
 San Francisco |   46 |   50 | 0.25 | 1994-11-27 | San Francisco | (-194,53)
 San Francisco |   46 |   50 | 0.25 | 1994-11-27 | London    | (0,51)
 San Francisco |   43 |   57 |  0 | 1994-11-29 | San Francisco | (-194,53)
 San Francisco |   43 |   57 |  0 | 1994-11-29 | London    | (0,51)
 Hayward    |   37 |   54 |   | 1994-11-29 | San Francisco | (-194,53)
 Hayward    |   37 |   54 |   | 1994-11-29 | London    | (0,51)
(6 行記錄)

表自連接:

mydb=# SELECT W1.city, W1.temp_lo AS low, W1.temp_hi AS high,
mydb-#   W2.city, W2.temp_lo AS low, W2.temp_hi AS high
mydb-#   FROM weather W1, weather W2
mydb-#   WHERE W1.temp_lo  W2.temp_lo
mydb-#   AND W1.temp_hi > W2.temp_hi;
   city   | low | high |   city   | low | high
---------------+-----+------+---------------+-----+------
 San Francisco | 43 |  57 | San Francisco | 46 |  50
 Hayward    | 37 |  54 | San Francisco | 46 |  50
(2 行記錄)

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 解決postgresql 數字轉換成字符串前面會多出一個空格的問題
  • PostgreSQL 遠程連接配置操作
  • postgreSQL中的case用法說明
  • 基于postgreSql 常用查詢小結
  • postgresql 查詢字符串中是否包含某字符的操作
  • postgresql 替換空格 換行和回車的操作

標簽:濮陽 溫州 辛集 海西 昭通 榆林 杭州 寶雞

巨人網絡通訊聲明:本文標題《postgreSQL中的內連接和外連接實現操作》,本文關鍵詞  postgreSQL,中的,內連,接和,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《postgreSQL中的內連接和外連接實現操作》相關的同類信息!
  • 本頁收集關于postgreSQL中的內連接和外連接實現操作的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品电影一区二区| 精品欧美一区二区久久| 日韩精品一二三四| 久久久91精品国产一区二区精品 | 欧美美女bb生活片| 国产成人在线免费观看| 亚洲v中文字幕| 中文字幕色av一区二区三区| 666欧美在线视频| 97久久超碰精品国产| 激情综合网天天干| 午夜欧美视频在线观看 | 精品区一区二区| 在线观看日韩一区| 成人午夜又粗又硬又大| 青青草视频一区| 亚洲精品福利视频网站| 久久影院视频免费| 亚洲综合久久久| 欧美zozozo| 91丨porny丨最新| 国产精品美女久久久久久2018| 国产一区二区不卡| 国产精品美日韩| 国产激情视频一区二区三区欧美| 欧美一区二区在线不卡| 日韩福利电影在线观看| 2020国产精品自拍| 国产一区欧美二区| 国产精品的网站| 国产欧美精品一区| 精品av久久707| 日韩三级高清在线| 欧美一区二区三区四区五区| 欧美日韩一区精品| 欧美日韩一区二区在线观看| 色婷婷久久久综合中文字幕| 91一区二区三区在线观看| 国产精品视频在线看| 日韩精品中文字幕在线不卡尤物 | 色综合天天性综合| 国产一区二区视频在线| 日本三级韩国三级欧美三级| 亚洲精品写真福利| 亚洲欧美在线另类| 国产精品美日韩| 久久精品夜色噜噜亚洲a∨| 日韩欧美国产午夜精品| 5858s免费视频成人| 欧美欧美午夜aⅴ在线观看| 91在线国产福利| av一区二区三区在线| 高清国产一区二区三区| 国产成人亚洲综合a∨婷婷图片 | 国产精品1024| 国内成人自拍视频| 国产在线精品不卡| 国产一区二区三区在线观看免费 | 日本伊人午夜精品| 亚洲福利一区二区| 三级在线观看一区二区| 亚洲午夜成aⅴ人片| 亚洲国产精品久久一线不卡| 亚洲一区二区在线免费看| 亚洲午夜久久久久久久久电影网| 一区二区激情视频| 亚洲不卡一区二区三区| 视频一区中文字幕国产| 亚洲综合无码一区二区| 国产一区二区福利| 国产精品中文字幕日韩精品| 成人亚洲一区二区一| 久久久九九九九| 欧美一区午夜精品| 91在线观看成人| 91无套直看片红桃| 成人免费视频播放| 国产精品一区二区久久精品爱涩 | 国产成人亚洲综合a∨婷婷图片 | 日韩高清在线电影| 青青草国产成人av片免费| 久久精品999| 国产精品主播直播| 91网址在线看| 91精品综合久久久久久| 久久综合中文字幕| 亚洲美女屁股眼交3| 亚洲成人一区在线| 国产一区欧美二区| 91亚洲资源网| 日韩欧美aaaaaa| 欧美xxxxx裸体时装秀| 久久综合色之久久综合| 一区av在线播放| 精品一区二区三区在线播放| 大尺度一区二区| 欧美日韩一二三| 久久久久综合网| 亚洲国产成人tv| 国产一区二区三区四区在线观看| av电影在线观看不卡| 欧美日韩精品电影| 国产欧美精品一区二区三区四区| 亚洲一区二区欧美| 国产精品一区二区你懂的| 色天天综合色天天久久| 精品国产亚洲在线| 一区二区免费看| 国产 欧美在线| 制服丝袜亚洲色图| 日韩毛片精品高清免费| 麻豆中文一区二区| 91啪九色porn原创视频在线观看| 337p亚洲精品色噜噜狠狠| 中文字幕欧美激情一区| 五月天激情综合网| 91视频.com| 久久天天做天天爱综合色| 18欧美乱大交hd1984| 狠狠色丁香久久婷婷综合_中| 欧美午夜一区二区三区免费大片| 久久久99久久| 美女视频一区二区| 欧美日韩一区三区| 亚洲免费三区一区二区| 国产91精品精华液一区二区三区| 在线播放中文字幕一区| 亚洲精品乱码久久久久久久久| 国产一区二区三区综合 | 中文字幕制服丝袜成人av| 欧美久久久久久蜜桃| 国产精品久久福利| 成人午夜私人影院| 精品日韩一区二区三区 | 久久蜜桃av一区二区天堂| 亚洲欧美怡红院| 波多野洁衣一区| 久久久久国产精品厨房| 91麻豆精品国产91| 一区二区三区精品在线观看| 久久精品999| 在线看国产一区二区| 久久色成人在线| 天天色天天操综合| 在线观看一区日韩| 国产精品九色蝌蚪自拍| 国产精品一级黄| 久久久综合精品| 黄网站免费久久| 欧美xxxx在线观看| 久久精品99国产精品日本| 日韩精品一区二区三区中文精品| 日韩福利电影在线| 欧美成人精品福利| 久久国产精品72免费观看| 日韩亚洲欧美在线观看| 久久99精品一区二区三区| 欧美大片国产精品| 国产精品一二三在| 欧美韩国日本综合| gogo大胆日本视频一区| 中文字幕综合网| 91丝袜高跟美女视频| 亚洲伊人色欲综合网| 欧美日韩一区二区三区四区 | 国产日韩欧美一区二区三区乱码| 国产一区二区视频在线播放| 欧美国产一区二区在线观看 | 亚洲欧洲性图库| 色呦呦一区二区三区| 亚洲国产美女搞黄色| 在线综合视频播放| 黄色日韩网站视频| 欧美国产一区二区| 国产成a人无v码亚洲福利| 国产欧美1区2区3区| 91一区一区三区| 日韩国产精品久久久久久亚洲| 日韩视频免费观看高清在线视频| 国产精品中文字幕日韩精品| 国产精品久久一级| 欧美写真视频网站| 久久69国产一区二区蜜臀| 国产精品激情偷乱一区二区∴| 欧洲一区在线观看| 久久精品国产亚洲5555| 国产精品理伦片| 欧美日韩国产一二三| 美女在线一区二区| 久久精品亚洲精品国产欧美kt∨| 成人黄色免费短视频| 亚洲一区二区三区爽爽爽爽爽| 日韩免费在线观看| 国产999精品久久久久久| 亚洲午夜在线观看视频在线| 欧美不卡一二三| 在线一区二区三区做爰视频网站| 久久国产精品99精品国产| 综合婷婷亚洲小说| 精品av综合导航|