LEFT OUTER JOIN LÀ GÌ

abstractasp.netasp:LinqDataSourceC#Cabịt.DataCachingGameGarbage collectionGCHTML5interfaceInterviewlam thân quen C#oopvar
Các các loại JOIN (INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL JOIN, CROSS JOIN) trong SQLServer
Mệnh đề Join trong SQL Server dùng làm liên kết những bảng, view, sub query lại cùng nhau thông qua các foreign key hoặc những cột có giá trị tương xứng ở cả 2 bảng, view hoặc những sub query.

Bạn đang xem: Left outer join là gì

Một ví dụ cơ bạn dạng đến câu hỏi dùng Join vào Squốc lộ Server:Quý Khách tất cả nhì table: bảng 1 là Item (khía cạnh hàng), bảng 2 là table Order (solo đặt hàng).

Trong bảng Order chỉ lưu đọc tin Mã sản phẩm & hàng hóa, mà lại bạn muốn có công dụng truy vấn vấn đề xuất tất cả cả tên sản phẩm & hàng hóa.Hiện nay, Join trong SQL sẽ được thực hiện nhằm chúng ta nối table Order vào table Item thông qua Mã hàng để lấy thương hiệu sản phẩm ra.

Trên đó là một ví dụ cơ bạn dạng độc nhất để chúng ta đọc thực chất của JOIN là gì, vào thực tế câu hỏi sử dụng JOIN trong SQL khôn cùng đa dạng chủng loại cùng nhiều mẫu mã.

Chuẩn bị Trước hết bạn hãy tạo ra nhì table khôn xiết đơn giản dễ dàng với insert vào kia một ít dữ liệu nlỗi đ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 Notê 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′)
go
create table OrderDetail
(
ID int identity primary key,
NgayDatHang datetime,
MaHang nvarchar(20),
SoLuong decimal(19,6) default 0 notnull
)
insert OrderDetail(NgayDatHang, MaHang,SoLuong)
values(‘20140401’, ‘NO1700’, 5),
(‘20140402’, ‘NO1700’, 1),
(‘20140402’, ‘IPHONE3’, 2),
(‘20140401’, ‘IPHONE4’,1), (‘20140401’,‘NO0001’, 1000)

Các các loại JOIN vào Squốc lộ Server1. INNER JOIN (viết tắt: JOIN)


Kết quả từ Inner join vào SQL là tập hòa hợp tài liệu trong số ấy quý hiếm dùng làm join nhị table cùng nhau đều phải có ở cả hai bảng, nghĩa là hiệu quả là GIAO của nhị tập hòa hợp dữ liệu. Kết quả được minc họa nlỗi sau:
*

Chạy script sau để thấy hiệu quả của inner join vào SQL Server:
select t2.MaHang, t1.TenHang, t2.SoLuong
from Item t1 inner joinOrderDetail t2 on t1.MaHang = t2.MaHang
Quý khách hàng hoàn toàn có thể ko đề xuất dùng INNER JOIN nlỗi bên trên mà lại chỉ cần viết tắt JOIN là được:
select t2.MaHang, t1.TenHang, t2.SoLuong
from Item t1 join OrderDetail t2 on t1.MaHang = t2.MaHang
Kết quả:
*

Bốn mã hàng hóa ở cột MaHang đều sở hữu vào table Item cùng table OrderDetail.
2. OUTER JOIN trong Squốc lộ Server
a. LEFT OUTER JOIN (viết tắt: LEFT JOIN)
cũng có thể diễn giải LEFT JOIN trong SQL như sau: “Lấy toàn bộ các mẫu tài liệu sinh sống table bên trái cùng phần lớn dòng dữ liệu sống bảng bên đề nghị CÓ quý hiếm MaHang mãi sau ở bảng bên trái.”.
Kết quả minh họa nlỗi hình sau, tác dụng trả về là hình oval color xanh:
*

Chạy đoạn script sau:

select t1.MaHang, t1.TenHang,t2.SoLuongfrom Item t1 left joinOrderDetail t2 on t1.MaHang =t2.MaHang

Kết quả trả về:


*

 Một số chiếc có SoLuong == null là do các MaHang này sẽ không mãi sau nghỉ ngơi bảng bên bắt buộc (OrderDetail), tuy nhiên có lâu dài nghỉ ngơi bảng phía trái (Item).


b. RIGHT OUTER JOIN (viết tắt: RIGHT JOIN)

Trái ngược với LEFT JOIN, RIGHT JOIN trong SQL Server rước cục bộ dữ liệu của bảng bên buộc phải và tài liệu của bảng phía trái tuy thế cực hiếm cột JOIN cũng luôn có trong bảng mặt phải.
Minh họa như sau, hình Oval màu vàng chính là kết quả đang trả về:
*

Chạy script sau:
select t2.MaHang, t1.TenHang, t2.SoLuong
from Item t1 right join OrderDetail t2 on t1.MaHang = t2.MaHang
Kết đúng như sau:
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 phía trái và bên đề xuất.

Xem thêm: 9999+ Tên Yến Trong Tiếng Anh, 199 Tên Tiếng Anh Chất Nhất Dành Cho Nam Và Nữ


Hình minch họa:
Chạy đoạn script sau:
select t1.MaHang, t1.TenHang, t2.SoLuong
from Item t1 full outer joinOrderDetail t2 on t1.MaHang = t2.MaHang
Kết quả:
Quan tiếp giáp công dụng bên trên rất có thể thấy:
Các chiếc tất cả MaHang = null là do bảng mặt đề xuất (OrderDetail) có mức giá trị cơ mà table phía trái (Item) không có giá trị MaHang khớp ứng.
Các chiếc tất cả SoLuong = null là vì những món đồ IPHONE5, 6, NO1200 bao gồm trong bảng Item nhưng mà không có loại làm sao khớp ứng trong table OrderDetail.
d. CROSS JOIN 
CROSS JOIN trong SQL không nhiều được thực hiện hơn đối với những các loại JOIN sinh sống bên trên vì chưng tính không nhiều ý nghĩa của nó, công dụng trả về của CROSS JOIN là đem số loại của bảng phía bên trái x số dòng của bảng bên cần. lấy một ví dụ bảng Item có 6 dòng, bảng OrderDetail gồm 5 chiếc, công dụng trả về là 30 mẫu.
Dữ liệu được nhân lên vày cđọng khớp ứng với cùng một cái vào Item thì đã nối với tổng thể 5 cái trong DetailItem nhưng mà không nên quyên tâm đến tiêu chí so sánh nào (không tồn tại mệnh đề ON t1.ColumnA = t2.ColumnB nlỗi những phong cách JOIN khác).
Chạy script sau:
select t1.*, t2.*
from Item t1 cross join OrderDetail t2
Kết quả:
Chúng ta đã tò mò về những loại JOIN trong Squốc lộ Server, chúng được sử dụng liên tục trong truy vấn dữ liệu với nhiều xử lý không giống. Cho yêu cầu bạn cần thực hành thực tế cẩn thận cùng gắng thiệt rõ cách sử dụng những nhiều loại Join để Khi làm việc cùng với Squốc lộ Server được nhuần nhuyễn với hiệu quả hơn

Share this:


Like this:


Số lượt say mê Đang mua...
Tháng Một 27, 2015Tháng Một 27, năm ngoái vuialo.netĐiều hướng bài bác viết
← %tiêu đề

Trả lời Hủy trả lời


Nhập comment của chúng ta trên phía trên...

Mời bạn điền công bố vào ô dưới đây hoặc kích vào một trong những biểu tượng để đăng nhập:


Thỏng điện tử (bắt buộc) (Địa chỉ của người sử dụng được giấu kín)
Tên (bắt buộc)
Trang web

quý khách hàng đã bình luận bởi tài khoản vuialo.net.com(Đăng xuất/Tgiỏi đổi)


quý khách sẽ comment bởi tài khoản Google(Đăng xuất/Txuất xắc đổi)


Quý khách hàng vẫn bình luận bằng tài khoản Twitter(Đăng xuất/Ttốt đổi)


Quý khách hàng vẫn comment bởi tài khoản Facebook(Đăng xuất/Thay đổi)


Hủy bỏ

Connecting lớn %s


Thông báo mang lại tôi bởi email Lúc tất cả phản hồi new.

Thông báo đến tôi bởi gmail Khi tất cả bài xích đăng bắt đầu.


Tạo một website miễn phí tổn hoặc 1 blog cùng với vuialo.net.com.
Privacy & Cookies: This site uses cookies. By continuing to lớn use this trang web, you agree lớn their use. To find out more, including how to lớn control cookies, see here:Cookie Policy
%d bloggers like this: