SQL語言中把資料庫中兩張表資料關聯起來的語句

2022-01-07 05:10:00 字數 4552 閱讀 3689

1樓:匿名使用者

1、建立兩張測試表,

create table test_cj(name varchar(20), remark varchar2(20));

create table test_kc(name varchar(20), remark varchar2(20));

2、插入測試資料

insert into test_cj values('xh','cj_1');

insert into test_cj values('kcdh','cj_2');

insert into test_cj values('cj','cj_3');

insert into test_kc values('kcdh','kc_1');

insert into test_kc values('kcm','kc_2');

3、查詢兩張表的總記錄數,select t.*, rowid from test_cj t union all select t.*, rowid from test_kc t,

4、編寫sql,兩張表進行關聯,select t.name, t.remark, b.

remark from test_cj t, test_kc b where t.name=b.name,可以發現關聯出kcdh的記錄,

2樓:

select *

from cj join kc on cj.kcdh=kc.kcdh--就這麼簡單。這樣保證兩個表的資料都能查出來。

--inner join內連線將會過濾掉不存在關聯的資料的。

3樓:匿名使用者

select cj.xh, cj.kcdh, cj.cj, kc.kcdh, kc.kcm

from cj inner join kc on (cj.kcdh = kc.kcdh)

sql server

ps 用inner join 最好。

4樓:匿名使用者

select a.*,b.* from cj a,kc b where a.kcdh=b.kcdh

5樓:星仔就是我

select a.xh,a.kcdh,a.cj,b.kcdh,b.kcm from cj as a,kc as b where a.kcdh=b.kcdh

6樓:『致_山

select * from cj表,kc表 where cj表.kcdh=kc表.kcdh

或者 select * from cj表 where kcdh=(select kcdh from kc表)

sql將兩個資料庫中的兩個表寫為一個查詢語句

7樓:匿名使用者

select * from aa where pid in (select pid from opendatasource( 'sqloledb', 'data source=ip/servername;user id=登陸名;password=密碼').bb的資料庫.dbo.

bb where use='false')

這樣!!!在aa的庫裡操作 需要將ip/servername,登陸名\密碼,bb的資料庫添上,還有你使用use關鍵字?使用的時候可能會提示錯誤你吧use加上,以上在sqlserver2000是可以執行的!

8樓:匿名使用者

如果是oracle的話需要建立database link,在dba裡面建立到dbb的dblink,那麼這個查詢語句就跟2表查詢差不多寫法了。

select * from aa where aa.pid in (select pid from dblink.bb where use = 'false')

9樓:

你問的應該是跨資料庫查詢的問題,你在資料庫a中執行下面的sql語句就能查到你所需要的資訊了。

select * from aa where pid in (select pid from b.dbo.bb where use='false')

10樓:

select a.pid as pid ,a.name as name ,a.price as price ,b.use as use from aa a, bb b

where a.pid=b.pid and b.use='false'

11樓:匿名使用者

將sqlserver中dbb中的bb表匯入dba中然後做以下查詢select *

from aa

where pid in(select pidfrom bb

where use='false')

資料庫中兩表結構相同,把一個表的資料導到另外一個表的sql語句怎麼寫?

12樓:學有止境

insert into a select * from b

如果欄位中包含identity列,timestamp列等自動生成的欄位,則不能列在如上語句中

13樓:匿名使用者

已經完全相同的情況下直接

insert a select * from b

14樓:匿名使用者

insert into a select * from b

15樓:匿名使用者

oracle:

insert into a select * from b;

16樓:匿名使用者

直接用mssql的資料匯入功能

17樓:檀品樑流麗

內連線可能會漏掉資料,所以一定要用左連線才能確保不漏掉資料。

select

t1.學號,

t1.姓名,

t3.獎項名稱,

t3.獎金,

t4.懲罰名稱

from

學生基本資訊表

t1left

join

懲獎情況表

t2on

t1.學號

=stu.學號

left

join

獎項表t3

ont2.獎項編號

=t3.獎項編號

left

join

懲罰表t4

ont2.懲罰編號

=t4.懲罰編號

sql如何從兩個關聯的表中取出資料插入到另一個表?

18樓:海天盛

1.首先準備兩個資料表,如下圖所示,具有相同的結構。

2.然後在第一個資料表中插入一些資料。

3.然後我們開啟第二個資料表,您可以看到第二個表中沒有資料。我們需要在第一個中插入資料。

4.接下來,編寫insert語句,注意這一次直接在insert之後用select獲取資料。

5.然後我們可以看到第二個資料表中的資料。

6.最後,您可以在選擇查詢時使用where來過濾資料。

19樓:匿名使用者

create proc abcd

asbegin

insert into 表a ([姓名],[人員表1.**],[人員表2.地址])

select 2張表中的表1.姓名,人員表1.**,人員表2.地址 from 2張表中的表1 ,2張表中的表2

where 2張表中的表1.id=2張表中的表2.idend執行儲存過程則:

exec abcd

20樓:匿名使用者

選手您好,請將您的表截圖,上傳每個表的部分資料到問題處,方便問題的解決

21樓:秀乞群群

第一種方法:

通過三條sql語句完成插入,即insert into前,使用select 專案名 into :

變數 from 另一張表 where id=你這裡的id,同理處理後面一個。

第二種方法:

直接在你插入的表中插入專案id和經辦人id,在顯示的時候,使用

select 專案名,姓名 from 表1,表2,表3 where 表1.專案id=表2.專案id and 表1.姓名id=表3.姓名id

這裡表1是插入的**,表2是包括專案id和專案名稱的那張**,表3是包括姓名id和姓名的那張**。

補充回答:

在sqlserver中要通過轉換才能以datetime進行儲存,使用convert函式。

經常使用convert(datetime變數)。

注意:變數是指那個控制元件下面的屬性。

資料庫中 如何用一條sql語句同時向兩個表插入資料

22樓:大大蟲

用觸發器,單純用sql語句做不到

23樓:紀荷邢訪冬

沒有直接insert兩張表的語句,要麼直接寫兩個insert語句,要麼在表結構一樣的情況下先插入一個表,然後insert

select語句複製到另一表

在vb中如何用sql語言在資料庫中建立表

下面是我用過的 用vb建立表 dmlsql create table fw calllog id integer identity 1,1 primary key,userid varchar 50 tdno varchar 50 callno varchar 50 calltime date,ca...

mysql資料庫怎麼複製一張表,SQL資料庫中同一張表內資料怎麼複製?

不用匯出,假如你的表111已存在資料庫中,可以很方便的複製 create table 222 as select from 111 create table 222 as select from 111 這樣是能複製全部資料和結構的,但是沒有索引 create table 222 asselect ...

SQL資料庫,在表A裡面寫入東西時,表A中的欄位C為自動增長(系統當前日期 三位流水號)

create or replace trigger tri abefore insert on a for each row declare ntime integer nc integer begin ntime to number to char sysdate,yyyymmdd select ...