婷婷综合国产,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
    欧洲精品在线观看| 欧美激情综合五月色丁香| 日韩精品久久理论片| 亚洲一区二区在线免费观看视频 | 色综合天天性综合| 日韩经典一区二区| 欧美日韩aaaaaa| 亚洲欧美在线aaa| 成人av网站大全| 久久99精品久久久久久动态图| 日本黄色一区二区| 在线这里只有精品| 99re免费视频精品全部| 亚洲.国产.中文慕字在线| 5858s免费视频成人| 日韩精品一区二区三区中文不卡 | 亚洲卡通动漫在线| 国产99久久久国产精品潘金| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 激情六月婷婷综合| 成人精品高清在线| 久久综合狠狠综合久久综合88| 国产无一区二区| 91麻豆精品国产综合久久久久久 | 国产成人h网站| 日韩欧美色综合| 欧美亚一区二区| 欧美区在线观看| 在线免费观看视频一区| 成人av资源站| 色就色 综合激情| 久久精品欧美一区二区三区不卡| 狠狠色2019综合网| 亚洲影院在线观看| 91精品国产品国语在线不卡| 国产欧美日韩视频一区二区 | 欧美日韩不卡一区二区| 狠狠v欧美v日韩v亚洲ⅴ| 91精品在线一区二区| 国内成人自拍视频| 久久久久久久久蜜桃| 国产精品网曝门| 欧美在线观看你懂的| 美腿丝袜一区二区三区| 亚洲精选视频在线| 国产校园另类小说区| 91精选在线观看| 波多野结衣亚洲一区| 亚洲人精品午夜| 欧美亚州韩日在线看免费版国语版 | 成人听书哪个软件好| 久久久久九九视频| 国产一区91精品张津瑜| 久久久高清一区二区三区| 色8久久人人97超碰香蕉987| 91在线精品一区二区| 国产99精品视频| 欧美亚洲动漫另类| 欧美性xxxxx极品少妇| 伦理电影国产精品| 国产日产欧美一区| 国产亚洲欧美日韩日本| 亚洲欧美一区二区久久| 午夜视黄欧洲亚洲| 成人免费高清在线观看| 欧美三级电影精品| 国产日韩欧美精品综合| 国产日产精品1区| 亚洲欧美视频在线观看视频| 亚洲一二三四在线观看| 国产丶欧美丶日本不卡视频| 色狠狠一区二区三区香蕉| 欧美一区二区久久久| 亚洲日本va在线观看| 国产精品一二三四区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美一级片免费看| 国产精品网站在线| 国产美女久久久久| 欧美色图第一页| 粉嫩aⅴ一区二区三区四区| 亚洲一区中文日韩| 国产91高潮流白浆在线麻豆 | 国产网站一区二区| 日韩av网站免费在线| 国产一区二区在线视频| 成人精品高清在线| 色婷婷综合久久久中文字幕| 国产免费久久精品| 精品在线播放免费| 7777精品伊人久久久大香线蕉完整版 | 国产91在线观看丝袜| 精品国产一区二区三区忘忧草| 亚洲妇熟xx妇色黄| 亚洲欧洲无码一区二区三区| 日本高清不卡aⅴ免费网站| 免费观看30秒视频久久| 亚洲美女免费视频| 亚洲视频一区二区免费在线观看 | 99久久99久久精品国产片果冻| 91无套直看片红桃| 国产欧美视频一区二区| 国产专区综合网| 日韩一区中文字幕| 综合激情成人伊人| 首页亚洲欧美制服丝腿| 91精品国产免费久久综合| av在线免费不卡| 国产乱国产乱300精品| 偷拍一区二区三区| 国产欧美日本一区二区三区| 91精品欧美久久久久久动漫| 成人免费高清视频在线观看| 国产在线精品一区在线观看麻豆| 97久久精品人人做人人爽| 97精品久久久午夜一区二区三区| 国产精品福利一区二区三区| 日韩美女在线视频| 在线播放日韩导航| 欧美图区在线视频| 欧美日韩一区高清| 精品视频一区 二区 三区| 国产成a人亚洲精品| 成人精品视频一区二区三区| 国产成人99久久亚洲综合精品| 蜜桃免费网站一区二区三区| 午夜激情综合网| 韩国精品久久久| 欧美成人video| 欧美放荡的少妇| 中文字幕av在线一区二区三区| 91视视频在线直接观看在线看网页在线看| 韩国欧美国产一区| 国产在线精品一区二区三区不卡| 国产午夜精品福利| 精品一区二区三区欧美| 欧美日韩三级一区二区| 国产日韩影视精品| 美女精品一区二区| 91精品国产91综合久久蜜臀| 中文字幕在线视频一区| 亚洲午夜免费福利视频| av在线这里只有精品| 一区二区三区精品视频在线| 国产精品亚洲午夜一区二区三区 | 成人精品视频一区| 亚洲一区欧美一区| 欧美丰满嫩嫩电影| 精品一区二区av| 亚洲午夜av在线| 亚洲国产精品精华液ab| 欧美亚洲图片小说| 国产成人一区二区精品非洲| 国产高清视频一区| 国产网红主播福利一区二区| 精品在线播放免费| 久久精品综合网| 国产99久久久精品| 国产亚洲精品7777| 日韩精品一区二区三区视频播放| 九色|91porny| 秋霞国产午夜精品免费视频| ㊣最新国产の精品bt伙计久久| 久久女同互慰一区二区三区| www.欧美.com| 九色|91porny| 亚洲在线成人精品| 国产亚洲成av人在线观看导航| av亚洲精华国产精华精华 | 97精品超碰一区二区三区| 亚洲成人免费视频| 亚洲色大成网站www久久九九| 99re在线精品| 成人一区二区三区视频| 免费人成黄页网站在线一区二区 | 一区二区三区四区亚洲| 色偷偷久久一区二区三区| 精品无码三级在线观看视频| 视频在线在亚洲| 蓝色福利精品导航| 国产午夜精品一区二区三区嫩草| 日韩视频一区二区三区在线播放 | 91麻豆精品一区二区三区| 亚洲香肠在线观看| 91精品国产综合久久香蕉的特点| 免费视频一区二区| 亚洲一区二区综合| 国产精品黄色在线观看| 欧美精品久久天天躁| 色94色欧美sute亚洲13| 日本二三区不卡| 色噜噜久久综合| 色婷婷国产精品综合在线观看| 免费一区二区视频| 国产真实乱子伦精品视频| 日韩精品欧美成人高清一区二区| 亚洲人精品午夜| 日日噜噜夜夜狠狠视频欧美人| 亚洲人成影院在线观看| 伊人性伊人情综合网|