sql兩表合並查詢
A. sql 語句合並查詢,兩張表欄位一樣
如果兩張表的各自查詢都只有一行結果。想把兩個查詢的結果合並到一行。可以直接使用自然連接:select
aa.*
,
bb.*
from
(select
*
from
a)
as
aa
,
(select
*
from
b)
as
bb
其中
(select
*
from
a)
和(select
*
from
b)是你的兩張表的查詢,結果各自只有一行。
如果說,你的意思是每張表查詢出來的結果都有多行。你需要這多行最後全部顯示為一行內容。可能你需要使用
select
*
from
a
for
xml
path('')
來將每個查詢的多行結果轉換為一行xml文本字元串。
B. SQL怎麼把兩個表的數據合在一起查詢!
如果你的這兩個表是有鍵的關聯的話,建議在查詢的時候就進行聯結查詢,而不是分別查出來再合在一起。使用左連接一般就可以解決你的問題。
如果你的這兩個表查出來的數據沒有什麼關聯,只是單純的合在一起而已的話。那你可以把結果的dataset進行手動的結合。
還有不懂請問。謝謝
C. SQL語句如何查詢合並兩張表(表一和表二有相同欄位,但數量不通)顯示兩張表的所有欄位
select isnull(a.name,b.name) as name,isnull(a.hobby,』—』) as hobby,isnull(b.age,null) as age
From 表1 a
Full join 表2 b on a.name =b.name
D. SQL求兩張表如何合並。
先用左連接將1表完全查出,再用右連接將2表完全查出,最後合並結果
SELECT t1.id AS `編號`,t1.`name` AS `名稱`,t1.score AS `科目一分數`,CASE WHEN t2.score IS NULL THEN 0 ELSE t2.score END AS `科目二分數`
FROM t1 LEFT JOIN t2 ON t1.id= t2.id
UNION
SELECT t2.id AS `編號`,t2.`name` AS `名稱`,CASE WHEN t1.score IS NULL THEN 0 ELSE t1.score END AS `科目一分數`,t2.score AS `科目二分數`
FROM t1 RIGHT JOIN t2 ON t1.id= t2.id;
E. sql查詢 合並兩個表
select
id,name
from
article
where
article_title
like
'x';
union
select
oid
as
id,name
from
resource
where
resource_title
like
'x';
你的欄位都
as
成一樣的就可以了,欄位列的數量要相同.
F. SQL 合並兩表
兩個表連接查詢然後用distinct去掉重復的即可。
給你點思路,先把兩個表連接結果作為一張表,然後再從這個表中過濾掉重復的。
select
distinct
t3.編號,t3.名稱
from
(
select
t1.編號,t1.名稱
from
t1
join
t2
)
as
t3
G. sql兩個表查詢合並為一個表
select
id,name
from
article
where
article_title
like
'x';
union
select
oid
as
id,name
from
resource
where
resource_title
like
'x';
你的欄位都
as
成一樣的就可以了,欄位列的數量要相同.
H. SQL 兩張表合並 (兩張表的列都相同)
可以參考下面的方法:
1、第一種,用一張臨時表,把所有數據都放在一張表裡
INSERT INTO QunList SELECT * FROM QunList89,90,91,92;
再在QunList中查詢
2、第二種,用 UNION ALL方式查詢
SELECT * FROM QunList89
UNION ALL
SELECT * FROM QunList90;
(8)sql兩表合並查詢擴展閱讀:
SQL參考語句
刪除表
drop table tabname--這是將表連同表中信息一起刪除但是日誌文件中會有記錄
刪除信息
delete from table_name-這是將表中信息刪除但是會保留這個表
增加列
Alter table table_name add column_name column_type [default 默認值]--在表中增加一列,[]內的內容為可選項
I. SQL 有關兩表合並的問題
select
t1.*,
t2.*
into
新表名
from
t1,t2
where
1=2
where
1=2
什麼意思啊
------------------
即符合條件的結果為空集(也即只復製表結構,不包含數據)
關於二樓的例子,最後所要得到的表格如下:
c1
c2
1
A
2
B
3
C
-------------------
如果是這樣的話,那就不能簡單的採用"笛卡爾乘積"的做法了,因為會造成很多重復的記錄的。
這樣的需求,你只能增加標識欄位(假如現在2表都有自增列id),然後這樣查詢:
select
t1.列1,
t2.列2
into
新表名
from
t1,t2
where
t1.id=t2.id
或
into
into
新表名(列1,列2)
select
t1.列1,
t2.列2
from
t1,t2
where
t1.id=t2.id
樓上的alex_hy,你老跟我作對啥?
拜託,用用你的腦吧,教別人用什麼「笛卡爾乘積」,稍有點知識的都能想像這樣的效率多差?
我的思路有問題嗎?
老是說我亂寫,那你的回復為什麼要跟我思路走?
你有本事就自己寫和問,不要跟在我屁股後面走
to
alex_hy:
剛去看了下你的回答記錄,居然那麼多「好評」,虧你那些回答的答案,明人都看得出來是你自己刷的「好評」啦,呵呵,真為你感到臉紅。
J. SQL怎樣合並兩個表進行查詢
select top 10 * from
(select * from 表1
union all
select * from 表2) as T
order by 某欄位union
all就是把倆表連接
然後把他倆連接的結果集起名叫T
然後你就可以用top了
你可以直接運行一下括弧里那句,如果表結構相同你兩個可以用*,如果部分欄位相同,你就要把在一起的欄位寫到一起了,比如
select id,name from 表1
union all
select id,name from 表2類似這樣