資料庫多表合併的問題,資料庫 多個使用者的資料合併到同一個表好還是分散到多個表上好?

2022-09-21 18:20:11 字數 2623 閱讀 1348

1樓:匿名使用者

簡單點說,每個中國人都有一個身份證號碼,而且這個身份證號碼一定能找到你:

那麼現在我們建立表1: 身份證號碼,姓名,性別,年齡,戶籍地,名族,家庭關係;

現在你上班了,需要到單位報到,單位的hr肯定會要你的身份證號碼,那是為什麼呢?因為單位要建立自己的資料庫:

現在我們建立表2:身份證號碼,工作經歷,學習經歷,培訓經歷,婚姻情況

那麼表1和表2 就有了聯絡,單位通過表1的身份證號碼 就能查詢到你的姓名,年齡,戶籍地,家庭關係。

所以如果你想要兩個表有關聯,就要有相同的值作為關聯,上面的例子中就是身份證號作為關聯。

結合你的題目:表1:id name age

表2:phone address

這兩張表現在沒有任何關係,通過表1 的id不能在表2中查詢到任何記錄,除非有種情況表1的id的值等於表2的phone或者address的值

那麼重新設計資料庫

表1(a): id name age

表2(b): id phone address

表3(c): id name age phone address

insert into c(id, name, age ,phone ,address) select a.id, a.name,a.

age,b.phone,b.address from a,b where a.

id = b.id

這樣c表中就有合併之後的資料了

ps:你是學生還是 剛開始學資料庫?如果是學生多和老師溝通溝通。不懂就問,如果已經工作了,那我勸你好好看書,認真一點。

2樓:匿名使用者

表1和表2之間應該有個外來鍵關聯吧,如表2中加一個欄位id,如果可以,就用 左連結 在兩表中讀取資料,在存到資料庫2 表3中。

資料庫 多個使用者的資料合併到同一個表好還是分散到多個表上好?

sql 批量合併多個表的問題

3樓:匿名使用者

只有把其它兩個表裡面的內容複製到一張表裡面,刪除其它兩個表就好了

4樓:匿名使用者

sqlserver:

select * into newtb from a1union all

select * from b1

union all

select * from c1

若要去除重複,就去掉all

5樓:

建個檢視把三個表的內容合到一個檢視中,這樣三個表中的內容如果改變,檢視中的內容同時改變。

比如想建的檢視名為 stabc

creat view stabc as

select * from a1

union

select * from b1

union

select * from c1

這樣想查所有資訊時只查檢視就可以了

select * from stabc

6樓:

union

union all

兩個操作符可以將結果合併在一起

select * from a1

union

select * from b1

union

select * from c1

然後將結果放入一個新表,或者建立一個表就好了orcale:

insert into table2(field1,field2,...) select value1,value2,... from table1

sql server:

select * from t1 into 新表

sql查詢語句多個表合併問題?

7樓:

結果1:

select t3.addr,t3.ip,sum(num) as num from (select * from t1 union all select * from t2) t3 group by t3.

addr,t3.ip

結果2:

select v1.addr,v1.ip,t1.

num as num1,t2.num as num2 from (select t3.addr,t3.

ip from (select * from t1 union all

select * from t2) t3 group by t3.addr,t3.ip) v1 left join t1 on v1.addr=t1.addr

left join t2 on v1.addr=t2.addr效果:

8樓:我又強力了

select addr,ip,sum(num)from (

select a.* from a

union all

select b.* from b

)group by addr,ip

select a.addr,a.ip a,num num1 b.num num2

from a

full join b

on a.addr=b.addr

資料庫,資料庫sql命令,刪除多表關聯索引資料

按樓上的說得,不過在最後改下,只要刪除賬號表,然後在後面加個cascade,它表示級聯刪除,就是和要刪除的賬號表上的賬號有關聯的都會刪除,不過事先你先得將表的關聯建好 人物表中的 賬號id 要引用 賬號表的 賬號id 就是外來鍵的意思,下面的表類似。寫 sql 就可以這樣寫 delete from ...

資料庫問題

1 select sno 商號 from spj where jno j1 2 select j.jname from spj inner join p on spj.sno p.pno inner join j on spj.jno j.jno where j.city 上海 and p.colo...

oracle資料庫,Oracle新建資料庫

樓主只要新建一個表空間,並把它分配給一個使用者就可以了。確定樓主是以管理員身份登入的 1.首先,建立 新 使用者 create user username identified by password username 新使用者名稱的使用者名稱 password 新使用者的密碼 也可以不建立新使用者...