[SQL] Gộp Bảng - Các Loại JOIN (inner Join, Left Outer Join, Right Outer ...
Có thể bạn quan tâm
Search Coder - Programer - Designer MỚI NHẤT Bài mới nhất...| Thứ Năm, 19 tháng 11, 2015
HOME CODE , SQL [SQL] Gộp bảng - Các loại JOIN (inner join, left outer join, right outer join, full join, cross join) trong truy vấn SQL Server [SQL] Gộp bảng - Các loại JOIN (inner join, left outer join, right outer join, full join, cross join) trong truy vấn SQL Server , vào lúc 11/19/2015 11:35:00 CHi. Giới thiệu
Mệnh đề Join trong SQL Server dùng để kết nối các bảng, view, sub query lại với nhau thông qua các foreign key hoặc các cột có giá trị tương ứng ở cả hai bảng, view hoặc các sub query.ii. Chuẩn bị
Trước hết bạn hãy tạo ra hai table rất đơn giản và insert vào đó một ít dữ liệu như đoạn script sau: create table Item ( MaHang nvarchar(20) primary key, TenHang nvarchar(200) ) insert Item(MaHang, TenHang) values('NO1700', N'Điện thoại Nokia 1700'), ('NO1200', N'Điện thoại Nokia 1200'), ('IPHONE3', N'Điện thoại Iphone 3'), ('IPHONE4', N'Điện thoại Iphone 4'), ('IPHONE5', N'Điện thoại Iphone 5'), ('IPHONE6', N'Điện thoại Iphone 6') create table OrderDetail ( ID int identity primary key, NgayDatHang datetime, MaHang nvarchar(20), SoLuong decimal(19,6) default 0 not null ) insert OrderDetail(NgayDatHang, MaHang, SoLuong) values('20140401', 'NO1700', 5), ('20140402', 'NO1700', 1), ('20140402', 'IPHONE3', 2), ('20140401', 'IPHONE4', 1), ('20140401','NO0001', 1000) Chúng ta đã có 2 bảng dữ liệu với liên kết như trên, vậy nếu muốn truy xuất cùng lúc thông tin đặt hàng và thông tin hàng thì ta phải làm thế nào? Đây chính là nhiệm vụ của liên kết hay JOIN các bảng lại với nhau. Trong SQL hỗ trợ các kiểu JOIN như sau:1. INNER JOIN
INNER JOIN hay viết tắt là JOIN trả về kết quả là tập hợp dữ liệu từ 2 bảng trong đó giá trị dùng để join đều có ở cả 2 bảng, nói cách khác kiểu join này giống phép giao trong tập hợp Hình minh họa2. OUTER JOIN
a. LEFT OUTER JOIN
Viết tắt: LEFT JOIN Có thể diễn giải LEFT JOIN trong SQL như sau: "Lấy toàn bộ các dòng dữ liệu ở table bên trái và những dòng dữ liệu ở bảng bên phải CÓ giá trị MaHang tồn tại ở bảng bên trái.". Kết quả minh họa như hình sau, kết quả trả về là hình oval màu xanh:b. RIGHT OUTER JOIN
Viết tắt: RIGHT JOIN Trái ngược với LEFT JOIN, RIGHT JOIN trong SQL Server lấy toàn bộ dữ liệu của bảng bên phải và dữ liệu của bảng bên trái nhưng giá trị cột JOIN cũng tồn tại trong bảng bên phải.c. FULL OUTER JOIN
Viết tắt: FULL JOIN FULL OUTER JOIN trong SQL Server chính là kết quả gộp lại của cả hai table bên trái và bên phải. Hình minh họa:d. CROSS JOIN
CROSS JOIN trong SQL ít được sử dụng hơn so với các loại JOIN ở trên do tính ít ý nghĩa của nó, kết quả trả về của CROSS JOIN là lấy số dòng của bảng bên trái x số dòng của bảng bên phải. Ví dụ bảng Item có 6 dòng, bảng OrderDetail có 5 dòng, kết quả trả về là 30 dòng. Dữ liệu được nhân lên do cứ tương ứng với 1 dòng trong Item thì sẽ nối với toàn bộ 5 dòng trong OrderDetail mà không cần quan tâm đến tiêu chí so sánh nào (không có mệnh đề ON t1.ColumnA = t2.ColumnB như các kiểu JOIN khác). Cái này là phép nhân Đề các 2 quan hệ với nhau. Câu truy vấn: SELECT t1.*, t2.* FROM Item t1 CROSS JOIN OrderDetail t2 Tương tự khi như ta viết: SELECT t1.*, t2.* FROM Item t1, OrderDetail t2 Kết quả trả về:0 nhận xét:
Bài mới hơn Bài đăng Mới hơn Bài cũ hơn Bài đăng Cũ hơnBài đăng phổ biến
-
[WindowForm] Làm việc với GridView - Grid Control của DevExpress -
[PHOTOSHOP] Tạo hiệu ứng chữ vỡ - Broken Text - [SQL] Gộp bảng - Các loại JOIN (inner join, left outer join, right outer join, full join, cross join) trong truy vấn SQL Server
-
[WindowForm] Sử dụng Timer và một số chức năng với Timer -
[WindowForm] Các cách lưu thông tin cài đặt cho ứng dụng C# - Apps setting
Nhãn
After Effect Template (1) Android (2) ASP.NET (3) Assembly (3) Blending (1) Blogger (1) C# (10) CODE (11) CSS (4) DevExpress (4) Entity Framework (1) Illustrator (1) JavaScript (2) LINQ (5) MVC (2) Photoshop (5) Premiere (1) ProShow (1) Show (5) SQL (3) Tutorial (4) Windows Form (13)Lưu trữ
- tháng 7 (1)
- tháng 6 (1)
- tháng 4 (1)
- tháng 12 (1)
- tháng 11 (1)
- tháng 7 (1)
- tháng 7 (3)
- tháng 6 (10)
- tháng 5 (5)
- tháng 4 (11)
Bài liên quan
- Windows Form
- C#
- ASP.NET
- JavaScript
- Fanpage
- Trang cá nhân
- Thư viện Winform
- it-c500
Categories
Liên kết
Từ khóa » Ghép Dữ Liệu 2 Bảng Trong Sql
-
Gộp Dữ Liệu Của 2 Bảng Làm Một Trong SQL Làm Thế Nào???
-
Gộp Dữ Liệu Với UNION Và UNION ALL Trong SQL - Freetuts
-
Truy Vấn Nhiều Bảng Với JOIN Trong SQL
-
Ghép Nối Nhiều Bản Ghi Vào Một Dòng Trong SQL SERVER
-
SQL Trên Excel Ghép Dữ Liệu, Gộp Dữ Liệu, Lọc Giá Trị Có Bảng Này Mà ...
-
Gộp 2 Bảng Trong Sql Làm Thế Nào??? Union Trong Mysql
-
Gộp Bảng Dữ Liệu Bằng Cách Sử Dụng SQL Trong Excel
-
Gộp Dữ Liệu Với UNION Và UNION ALL Trong SQL - Vi
-
Dùng Một Truy Vấn Hợp để Kết Hợp Nhiều Truy Vấn Vào Một Kết Quả đơn
-
Ghép Cột Trong Sql Server - Programming - Dạy Nhau Học
-
Hàm CONCAT Trong SQL Server
-
JOIN Trong SQL Server