Tìm thủ thuật nhanh hơn với chức năng tìm trong Blog

12/29/09

So sánh - tổng hợp 2 table với Union

Hỏi:Mình hiện nay có 2 table A và table B :
Giờ mình muốn lọc bằng lệnh SQL hoặc query :
điều kiện
1_những record nào trùng file mahang và tenhang trùng giữa 2 table A và B .
2_Lọc ra những record không trùng giữa 2 table A và B .
3 -Làm thế nào để Hợp nhất hai table A và B: lấy tất cả những record trùng và không trùng của 2 table (các record trùng nhau sẽ thành 1 record)
Đáp: Ví dụ bạn có 2 table
tableA có các mahang: 001, 002, 003.
TableB có các mahang: 001, 004, 005.

 1_những record nào trùng file mahang và tenhang trùng giữa 2 table A và B .
SELECT ArticleNo FROM TableA WHERE ArticleNo In (select ArticleNo from TableB)
Union
SELECT ArticleNo FROM TableB WHERE ArticleNo In (select ArticleNo from TableA)
kết quả ví dụ tabletonghop có mã: 001
2_Lọc ra những record không trùng giữa 2 table A và B .
[CODE]SELECT ArticleNo FROM TableA WHERE ArticleNo Not In (select ArticleNo from TableB)
Union
SELECT ArticleNo FROM TableB WHERE ArticleNo Not In (select ArticleNo from TableA);
 kết quả ví dụ: 002,003,004,005
3/ -Làm thế nào để Hợp nhất hai table A và B: lấy tất cả những record trùng và không trùng của 2 table (các record trùng nhau sẽ thành 1 record)
SELECT ArticleNo FROM TableA
Union
SELECT ArticleNo FROM TableB ;
kết quả ví dụ: 001,002,003,004,005
4/ Làm thế nào lấy tổng hợp tất cả các record không quan tâm chúng có trùng mã hay không?
SELECT ArticleNo FROM TableA
Union All
SELECT ArticleNo FROM TableB ;
 kết quả ví dụ: 001,001,002,003,004,005