六 SQL 表連線 交叉連線

2021-10-13 13:07:08 字數 928 閱讀 6818

與內連線比起來,交叉連線非常簡單,因為它不存在on子句。交叉連線會將涉及到的所有表中的所有記錄都包含在結果集中。交叉連線,定義方式分為隱式連線和顯式連線。

隱式連線:只要在select語句的from語句後將要進行交叉連線的表名列出即可,這種方式可以被幾乎任意資料庫系統支援。

如:將t_customer表和t_order做交叉連線:

select t_customer.fid, t_customer.fname, t_customer.fage,t_order.fid, t_order.fnumber, t_order.fprice from t_customer, t_order
在交叉連線中同樣可以對錶使用別名。上面的sql語句改寫為:

select c.fid, c.fname, c.fage,o.fid, o.fnumber, o.fprice from t_customer c, t_order o
這兩個sql語句的執行結果是一樣的

顯式連線:使用cross join關鍵字,其語法與inner join類似。

如:將t_customer表和t_order做交叉連線:

select t_customer.fid, t_customer.fname, t_customer.fage,t_order.fid, t_order.fnumber, t_order.fprice from t_customer cross join t_order
使用cross join的方式宣告的交叉連線只能被mysql、mssqlserver和oracle所支援,在db2中是不被支援的。因為所有的資料庫系統都支援隱式的交叉連線,所以它是執行交叉連線的最好方法。

sql內外鏈結,交叉連線

實際的專案,存在多張表的關聯關係。不可能在一張表裡面就能檢索出所有資料。如果沒有表連線的話,那麼我們就需要非常多的操作。比如需要從a表找出限制性的條件來從b表中檢索資料。不但需要分多表來操作,而且效率也不高。比如書中的例子 複製 如下 select fid from t customer where...

內連線 外連線 交叉連線

一 連線查詢 根據兩個表或者多個表的列之間的關係,從這些表中查詢資料。目的 實現多個表查詢操作。二 連線型別 連線分為三種 內連線 外連線 交叉連線。1 內連線 使用比較運算子 包括 和 進行表間的比較操作,查詢與連線條件相匹配的資料。根據比較運算子不同,內連線分為等值連線和不等連線兩種。1.1 等...

表間的內連線 外連線 交叉連線

有兩個表a和表b。表a結構如下 aid int 標識種子,主鍵,自增id aname varchar 資料情況,即用select from a出來的記錄情況如下圖1所示 表b結構如下 bid int 標識種子,主鍵,自增id bnameid int 資料情況,即用select from b出來的記錄...