1樓:
看你用的什麼資料庫:
sql server :
select * into table_new from table_old ; 複製結構和資料
select * into table_new from table_old where 1=2;只複製結構
oracle:
create table table_new as select * from table_old;複製結構和資料
create table table_new as select * from table_old where 1=0;只複製結構
db2:
--複製表結構
create table table_name_new as (select * from table_name_old) definition only;
--插入資料
insert into table_name_new (select * from table_name_old);
mysql:
----- 複製表結構及資料到新表
create table 新表 select * from 舊錶
----- 只複製表結構到新表
create table 新表 select * from 舊錶 where 1=2
2樓:
//複製了表student 的表結構到 studets中了
select top 0 * into studets from student
3樓:
sqlserver:select * into b from a where 1 <> 1 或者select top 0 * into b from a
a是原表,b是現有表。
oracle:create table b as select * from a where 1 <> 1
4樓:無極園
create table newtable as
select * from oldtable where 1=2
sql update 的更新值**於另外一個表,如何實現?
5樓:匿名使用者
1、建立兩個測試表,
create table test_up_a(id number, value varchar2(100));
create table test_up_b(id number, value varchar2(100));
2、分別往兩個表中插入資料;
insert into test_up_a values(1,'a1');
insert into test_up_a values(2,'a2');
insert into test_up_a values(3,'a3');
insert into test_up_a values(4,'a4');
insert into test_up_a values(5,'a5');
insert into test_up_a values(6,'a6');
insert into test_up_b values(1,'bbbb1');
insert into test_up_b values(2,'bbbb2');
insert into test_up_b values(5,'bbbb5');
commit;
3、分別檢視兩個表中資料;
select 'tbl_a', t.* from test_up_a t
union all
select 'tbl_b', t.* from test_up_b t
4、執行更新指令碼,可以發現test_up_a.value值已變化;
update test_up_a t
set t.value =
(select b.value
from test_up_b b
where t.id = b.id
and rownum = 1)
6樓:我tm不管
update 表a,表b set 表a.欄位2=表b.欄位4 where 表a.欄位1=表b.欄位3
正確答案,錯了管飯
7樓:行雯姚秀媚
update
好像是不能同時更新兩個表的
樓主想同時更新這兩個表而採用單個更新是因為2個表的約束關係其實還有一個辦法
就是先把兩個表的約束關係都停用了
然後用2條語句將2個表分別更新,更新完了以後再啟用兩個表的約束關係就可以了
8樓:匿名使用者
這樣就可以了:
update 表a as a,表b as b set a.欄位1=b.欄位 where a.欄位c=b.欄位c;
針對問題補充:
update 表a as a,表b as b set a.欄位2=b.欄位4 where a.欄位1=b.欄位3;
9樓:親愛的老爺
update 表a set 欄位1 in(select 值 from 表b)
用in返回結果集而不是單一結果
不太明白 是這個意思麼?
10樓:匿名使用者
update a set a.欄位2 = b.欄位2 from 表a,表b where a.欄位1 = b.欄位1
sql中引用一個表的查詢結果作為條件來查詢另一個表如何實現?
11樓:匿名使用者
1、用baisqlserver作為測試,建立學生、教師、班
du級三張zhi表。每張表都有一個id,int型別dao的專(自增長),作為每屬個表的主鍵。
2、新增測試資料,並建立班級與學生、教師與班級的中間表。insert into dbo.student(sname) values('張三'),插入多條,由於id自增長所以sid自動填充了。
類似將教師和班級也新增上測試資料。
3、建立班級教師表class_teacher,班級學生表class_student。
4、然後將1和2 放到1班,3和4放到2班。5和6 不放(可以理解為剛入學沒有分配班級)。然後將3個老師分配到3個班級insert into dbo.
class_teacher values (1,1)insert into dbo.class_teacher values (2,2)insert into dbo.class_teacher values (3,3)。
5、這樣,1班和2班各有兩名同學,3班沒有同學,有兩個同學沒有分配班級,每一個老師都分配了班級。現在要查詢所有班級學生情況。
12樓:樂樂愛知道
exists 這個裡面得要包含和外面表的關係的。
select 消費
號,sum(金額)金額 from 護理版卡權消費 twhere exists (
select distinct a.消費號 from 護理卡消費歷史 a left join 護理卡消費 d on a.消費號=d.消費號
where a.服務名稱 in (select b.服務名稱 from 服務類別 b where b.服務專案類別='面部護理')
and t.消費號=a.消費號 )
group by 金額,消費號
13樓:
exists 這個裡面得bai要包含和外du面表的關係的。zhiselect 消費號,sum(金額
dao)金額 from 護理版卡權消費 twhere exists (
select distinct a.消費號 from 護理卡消費歷史 a left join 護理卡消費 d on a.消費號=d.消費號
where a.服務名稱 in (select b.服務名稱 from 服務類別 b where b.服務專案類別='面部護理')
and t.消費號=a.消費號 )
group by 金額,消費號
你這樣試試
sql一張表中一條sql語句如何count多條資料
下面這樣就行了 select count b from awhere 1 1 and b 1 or b 2 or b 3 group by b select count from a select count b1 count b2 count b3 from a 直接bai加入du 就是了。zhi...
SQL怎麼將表中的資料拼接到另一張表中
如果兩表字段相同,則可以直接這樣用。insert into table a select from table b 如果兩表字段不同,a表需要b中的某幾個字段即可,則可以如下使用 insert into table a field a1,field a2,field a3 select field ...
sql語句怎麼從一張表中查詢資料插入到另一張表中
以下 1 insert into a id ids,name type,time select id null,name dd getdate from b where type dd 2 declare num int,i int set i 0 set num select 字段 專 from ...