表的笛卡爾積怎麼用sql語句表示

2021-03-08 01:32:05 字數 1566 閱讀 9585

1樓:丨遙遠的她灬

第乙個表的

行數乘以第二個表的行數等於笛卡爾積結果集的大小

select * from table1 cross join table2

select  a.*,b.*  from table1 a ,table2 b

笛卡爾乘積是指在數學中,兩個   集合   x和   y的笛卡尓積(cartesian product),又稱   直積。

表示為   x ×   y,第乙個物件是   x的成員而第二個物件是   y的所有可能   有序對的其中乙個成員。

假設集合a=,集合b=,則兩個集合的笛卡爾積為。

類似的例子有,如果a表示某學校學生的集合,b表示該學校所有課程的集合,則a與b的笛卡爾積表示所有可能的選課情況。a表示所有聲母的集合,b表示所有韻母的集合,那麼a和b的笛卡爾積就為所

2樓:匿名使用者

select a.*, b.*

from a, b

-- 不加where條件,就是笛卡爾積

3樓:神崎橙

select * from table1 , table2

4樓:匿名使用者

笛卡爾積在sql中的實現方式既是交叉連線(cross join)。所有連線方式都會先生成臨時笛卡爾積表,笛卡爾積是關係代數裡的乙個概念,表示第乙個表的行數乘以第二個表的行數等於笛卡爾積結果集的大小。

參見下面的示例:

declare @temp table (groupid int , groupname varchar(25), itemnumber varchar(25) ) insert into @temp select 1,'5805','27-196-018' union select 1,'5805','27-196-019' union select 2,'5805','27-196-020' union select 2,'5805','27-196-021' union select 3,'5805','27-196-022' union select 3,'5805','27-196-023' select g1_groupid ,g1_itemnumber ,g2_groupid ,g2_itemnumber from ( select groupid as g1_groupid ,itemnumber as g1_itemnumber from @temp where groupid in(1) ) as a cross join ( select groupid as g2_groupid ,itemnumber as g2_itemnumber from @temp where groupid not in(1) ) as b order by a.g1_groupid,a.g1_itemnumber

建立表的SQL語句

這樣寫 create table aaa aaa char 4 constraint 主鍵約束名字 primary key 就可以了,也可以在最後加上clustered 聚集索引 或nonclustered 非聚集索引 主鍵約束名字也可以省略。不過寫上主鍵約束名容易對其進行管理。希望能幫到你!拜拜!...

怎樣用sql語句在sqlserver建表和插入資料

create table 表名 列名1 型別,列名2 型別,列名3 型別,插入資料 insert into 表 列名1,列名2,values 值1,值2,sqlserver2000 中首先開啟查詢分析器 連線資料庫 選擇需要插入表的資料庫 執行指令碼 create table 表名稱 列名稱1 資料...

ORACLE建立表的SQL語句,Oracle使用者建立的SQL語句

其實語法和sqlserver還是一樣的,給你舉個例子。create table stuinfo stuid int primary key,stuname varchar2 20 age int 其實沒有那麼為麻煩,你可以開啟oracle檢視編輯器。中顯示oracle語句,想要什麼語句你自己試吧!包...