⑴ 用sql查詢兩個表中相同的數據
1、創建測試表;
create table test_col_1(id number, var varchar2(200));
create table test_col_2(id number, var varchar2(200));
⑵ sql查詢兩個表相同的數據
SQL語句如下:
SELECT * from TABLE1
full join TABLE2 on TABLE1.xingming = TABLE2.xingming
where
TABLE1.xingming is null or TABLE2.xingming is null
分析:
1、首先得出兩個表的並集
從結果中可以看出,表1中的趙二在表2中沒有相同xingming的記錄。
表2中的劉六在表1中沒有相同xingming的記錄。
本題還有其它多種解法,此處列出比較好理解的一種。
(2)sql對多個表執行同樣的擴展閱讀:
使用自聯接
即使表在資料庫中沒有自反關系,也可將它與自身聯接。 例如,可使用自聯接查找生活在同一城市的作者對。
與任何聯接一樣,自聯接至少需要兩個表。 不同之處在於,不是向查詢中添加第二個表,而是添加同一個表的第二個實例。 這樣,可將表的第一個實例中的列與第二個實例中的同一列相比較,這樣可相互比較列中的值。查詢和視圖設計器為表的第二個實例分配一個別名。
例如,如果要創建自聯接來查找居住在 Berkeley 內的所有作者對,可將表的第一個實例中的 city 列與第二個實例中的 city 列相比較。 所得到的查詢可能類似於:
SELECT
authors.au_fname, authors.au_lname, authors1.au_fname AS Expr2, authors1.au_lname AS Expr3
FROM authors INNER JOIN authors authors1 ON authors.city = authors1.city
WHERE
authors.city = 'Berkeley'
參考資料:
網路.full join
⑶ 如何利用SQL語句將多個工作表中具有相同屬性的數據匯總起來
將多個表中的數據匯總最常用的辦法是使用union all,具體的要視表結構、「相同屬性」的具體定義、匯總方式等因素而定,可能還要用到連接、篩選、子查詢、分組等手段,當然聚合函數sum是少不了的。
下面例子實現將t1,t2,t3中的各個產品匯總起來,顯示每種產品的總量:
select t.proct ,sum(t.qty) from
(select proct,qty from t1
union all
select proct,qty from t2
union all
select proct,qty from t3) t
group by t.proct;
⑷ 用sql語句進行多表連接查詢出現重復數據
1、用select語句,查看兩個表中的數據,確認下來的結果是每個表中都只有兩行數據;