004 連線查詢

2022-09-14 05:57:10 字數 822 閱讀 3602

再大多數的情況下,我們都需要進行連線查詢.

笛卡爾積的產生:

這個就是多表查詢的的最初結果集,那麼以後我們需要作的就是從結果集中篩選出需要的結果集.

篩選的方式不同,導致sql的效率不同.

篩選的方式就是加入連線標準.

等值連線:

select 字段 from 表1 , 表2 where 連線條件.

eg:查詢員工名和對應的部門的名稱.

select

last_name,

a.department_id

from

employees a,

departments b

where a.department_id = b.department_id

非等值連線:

其實與等值連線基本是一致的,都是在笛卡爾積中使用非等值條件然後進行篩選.

自連線:

自連線相當於連線的表就是自己,其實和一般的等值連線沒有什麼區別.

外連線:

外連線到底查詢的是什麼? 我們從維恩圖之中就能看出來,

其實取的就是主表的全部資訊,加上交集的全部資訊.

至於左外鏈和還是右外連線完全是看到底使用哪一張表作為主表.

全外連線: 在mysql之中是不支援全外連線的,我們想要獲取圈外連線的資訊,就只能靠我們自己手動的去拼湊結果集,

最終獲取結果集然後完成.

交叉連線:

其實就是我們獲取的笛卡爾積的一種方式,在實際之中基本是沒有什麼作用的.

13 連線查詢

假設 a 表中有3條記錄,b表中有 4 條記錄 那麼,語句select from a,b 會將a,b兩張表的資料交叉拼接起來,形成 3 4 12 條記錄的結果集,此結果集叫做笛卡爾積。ora 00918 未明確定義列 改進辦法 明確列的所屬 select empno,ename,emp.deptno...

實驗3 3 連線查詢

一 實驗目的 掌握使用連線的方法從多個表中查詢資料。理解內連線 外連線 包括左外連線 右外連線和全外連線 自身連線的概念和使用。要求學生熟練掌握在from子句和在where子句中指定連線條件的這兩種方法。二 實驗原理 在查詢語句的from子句中用以下形式實現各種連線操作 l from 表1 inne...

十 連線查詢

10.1 sql92語法 連線查詢 也可以叫跨表查詢,需要關聯多個表進行查詢 1 顯示每個員工資訊,並顯示所屬的部門名稱 以上輸出,不正確,輸出了56條資料,其實就是兩個表記錄的乘積,這種情況我們稱為 笛卡兒乘積 出現錯誤的原因是 沒有指定連線條件 2 指定連線條件 以上結果輸出正確,因為加入了正確...