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

數(shù)據(jù)庫開發(fā)應知應會之笛卡爾積

數(shù)據(jù)庫 其他數(shù)據(jù)庫
笛卡爾積是指在數(shù)學中,兩個集合X和Y的笛卡尓積(Cartesian product),又稱直積,表示為X × Y,第一個對象是X的成員而第二個對象是Y的所有可能有序?qū)Φ钠渲幸粋€成員。

 本文轉(zhuǎn)載自微信公眾號「活在信息時代」,作者活在信息時代。轉(zhuǎn)載本文請聯(lián)系活在信息時代公眾號。

很多數(shù)據(jù)庫開發(fā)人員都聽說過笛卡爾積的概念,也可能偶爾碰上過因為SQL語句或者數(shù)據(jù)表數(shù)據(jù)問題而產(chǎn)生的笛卡爾積問題。但是很多人對于笛卡爾積產(chǎn)生的原因和如何避免還是有些一知半解。所以我們今天就簡單明了地給大家介紹一下什么情況下會產(chǎn)生笛卡爾積問題,以及如何避免。

一、什么是笛卡爾積

笛卡爾積是指在數(shù)學中,兩個集合X和Y的笛卡尓積(Cartesian product),又稱直積,表示為X × Y,第一個對象是X的成員而第二個對象是Y的所有可能有序?qū)Φ钠渲幸粋€成員。

假設集合A={a, b}有兩個元素,集合B={0, 1, 2}有三個元素,則兩個集合的笛卡爾積為{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}有2*3為6個元素。

在SQL查詢語句中,出現(xiàn)笛卡爾積的情況都是出現(xiàn)在關聯(lián)查詢上,具體包括下面兩種。我們以下面兩張表為例,給大家介紹一下。

第一張表是雇員表:有20條數(shù)據(jù),如下圖:

第二張表為工資表:也有二十條數(shù)據(jù),如下圖:

二、數(shù)據(jù)表關聯(lián)查詢時,如果連接沒有ON條件,會出現(xiàn)全部笛卡爾積

對于以上的兩張表,如果我們查詢

select * from employees, salary

結(jié)果為:

可以看出,一共出現(xiàn)了20*20=400條數(shù)據(jù)。即出現(xiàn)了全部笛卡爾積。

三、數(shù)據(jù)表關聯(lián)查詢時,如果ON條件字段是非唯一字段,會出現(xiàn)部分笛卡爾積

以上面的數(shù)據(jù)為例,如果我們以ejob字段進行連接的話,語句如下:

select * from employees, salary where employees.ejob=salary.ejob

結(jié)果為:

可以看出,由于ejob不是唯一字段,最終出現(xiàn)了36條結(jié)果,也就是出現(xiàn)了部分笛卡爾積。

四、如何才能不出現(xiàn)笛卡爾積的查詢結(jié)果

為避免出現(xiàn)查詢結(jié)果為笛卡爾積的冗余數(shù)據(jù)情況,應該在連接查詢時,使用唯一字段進行連接。

責任編輯:武曉燕 來源: 活在信息時代
相關推薦

2022-09-04 19:43:05

程序員數(shù)據(jù)庫

2011-05-20 13:33:14

SQL

2021-05-22 10:01:45

PythonPython列表Python程序開發(fā)

2023-05-06 07:24:22

程序員視頻算法

2022-11-04 07:12:24

JavaScript基準測試

2022-07-20 00:03:10

Python列表字典推導

2011-08-30 09:14:49

SQL ServerJOIN條件笛卡爾乘積

2022-12-02 07:16:29

MySQL函數(shù)日期

2022-11-09 07:18:18

驅(qū)動測試BDD

2024-05-06 12:49:15

Linux文件系統(tǒng)

2011-08-22 16:08:46

IOS開發(fā)數(shù)據(jù)庫

2018-05-17 11:06:52

數(shù)據(jù)庫SQL Server設計方案

2021-04-15 10:01:18

Sqlite數(shù)據(jù)庫數(shù)據(jù)庫知識

2011-08-11 10:37:48

2023-05-10 08:41:40

二叉樹遍歷算法

2011-08-02 16:43:26

iPhone開發(fā) Ssqlite3 數(shù)據(jù)庫

2010-09-30 09:11:01

2010-09-30 08:27:48

2021-09-06 10:24:12

鴻蒙HarmonyOS應用

2021-04-12 10:00:47

Sqlite數(shù)據(jù)庫CMD
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美舔穴| 一区二区日韩 | 亚洲有码转帖 | 中文字幕人成乱码在线观看 | 国产精品久久久久久久 | 国产精品久久久 | 亚洲视频免费 | 日韩在线精品强乱中文字幕 | 亚洲精品久久久久久国产精华液 | 成人一区二区三区在线观看 | 精品视频一区在线 | 国产一区 | 亚洲午夜精品 | 精精久久| 欧美日韩中文在线 | 国产精品一区二区三区久久 | 国产精品一区二区三区在线 | 成人欧美一区二区三区在线观看 | 精品中文视频 | 一区二区国产在线 | 天天操天天摸天天爽 | 亚洲欧美精品在线 | 99久久夜色精品国产亚洲96 | 国产一区二区三区 | 国产一区二区在线播放视频 | 国产精品福利视频 | 在线观看黄色电影 | 亚洲电影第1页 | 国产综合久久久 | 黄色一级毛片免费看 | 日韩美av| 亚洲性人人天天夜夜摸 | 成人久久久久久久久 | 狠狠色狠狠色综合日日92 | 三级成人在线 | 69视频在线播放 | 又爽又黄axxx片免费观看 | 欧美日韩免费一区二区三区 | 一区二区伦理电影 | 欧美一级一 | 青青草精品 |