Câu lệnh JOINNối kết và khoá Đôi khi chúng ta phải lấy dữ liệu từ hai bảng
Số trang: 6
Loại file: pdf
Dung lượng: 124.08 KB
Lượt xem: 11
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Câu lệnh JOINNối kết và khoá Đôi khi chúng ta phải lấy dữ liệu từ hai bảng cùng một lúc, chúng ta thực hiện một kết nối. Các bảng trong CSDL có thể quan hệ ràng buộc với nhau thông qua các khoá. Một khoá chính (primary key) là một cột mà trong đó mỗi giá trị của hàng phải là duy nhất. Mục đích của khoá là kết nối dữ liệu lại với nhau, từ nhiều bảng khác nhau mà không gây trùng lắp dữ liệu giữa các bảng. Trong bảng Employees (nhân viên) ở ví dụ dưới đây...
Nội dung trích xuất từ tài liệu:
Câu lệnh JOINNối kết và khoá Đôi khi chúng ta phải lấy dữ liệu từ hai bảng Câu lệnh JOINNối kết và khoáĐôi khi chúng ta phải lấy dữ liệu từ hai bảng c ùng một lúc, chúng ta thực hiệnmột kết nối.Các bảng trong CSDL có thể quan hệ ràng buộc với nhau thông qua các khoá.Một khoá chính (primary key) là một cột mà trong đó m ỗi giá trị của hàng phảilà duy nhất. Mục đích của khoá là kết nối dữ liệu lại với nhau, từ nhiều bảngkhác nhau mà không gây trùng lắp dữ liệu giữa các bảng.Trong bảng Employees (nhân viên) ở ví dụ dưới đây có cột Employees_ID làkhoá chính, bảo đảm rằng không thể có hai dòng nào có trùng Employees_ID.Employees_ID dùng để phân biệt hai nhân viên khi họ trùng tên.Trong ví dụ dưới đây: Employee_ID là khoá chính c ủa bảng Employees. Prod_ID là khoá chính của bảng Orders. Cột Employeed_ID trong bảng Orders đ ược sử dụng để kết nối với bảng Employees, chỉ đến nhân vi ên trong bảng Employees.Bảng Employees: Employees_ID Name 01 Hansen, Ola 02 Svendson, Tove 03 Svendson, Stephen 04 Pettersen, KariBảng Orders: Prod_ID Product Employee_ID 234 Printer 01 657 Table 03 865 Chair 03Kết nối hai bảng với nhauChúng ta có thể lấy dữ liệu từ hai bảng bằng cách kết nối chúng, t ương tự nhưsau:Ví dụ: Tìm xem ai đã đặt hàng sản phẩm và họ đã đặt món hàng gì:SELECT Employees.Name, Orders.Product FROM Employees, Order sWHERE Employees.Employee_ID = Orders.Employee_IDkết quả trả về: Name Product Hansen, Ola Printer Svendson, Stephen Table Svendson, Stephen ChairVí dụ: Tìm xem ai đã đặt hàng máy in:SELECT Employees.Name FROM Employees, Orders WHEREEmployees.Employee_ID = Orders.Employee_ID AND Orders.Product =Printerkết quả trả về: Name Hansen, OlaSử dụng JOINTa có thể sử dụng từ khoá JOIN để kết nối dữ liệu từ hai bảng.Ví dụ: INNER JOINCú pháp:SELECT cột_1, cột_2, cột_3 FROM bảng_1 INNER JOIN bảng_2 ONbảng_1.khoá_chính = bảng_2.khoá_ngoạiAi đã đặt hàng và họ đã đặt món hàng nào:SELECT Employees.Name, Orders.Product FROM Employees INNER JOINOrders ON Employees.Employee_ID = Orders.Employee_IDINNER JOIN trả về tất cả các d òng ở cả hai bảng khi chúng t ương ứng vớinhau. Nếu có một dòng ở bảng Employees không ứng với dòng nào ở bảngOrders, dòng đó sẽ không được tính.kết quả trả về: Name Product Hansen, Ola Printer Svendson, Stephen Table Svendson, Ste phen ChairVí dụ: LEFT JOINCú pháp:SELECT cột_1, cột_2, cột_3 FROM bảng_1 LEFT JOIN bảng_2 ONbảng_1.khoá_chính = bảng_2.khoá_ngoạiLiệt kê tất cả các nhân viên và món hàng mà họ đặt (nếu có):SELECT Employees.Name, Orders.Product FROM Employees LEFT JOINOrders ON Employees.Employee_ID = Orders.Employee_IDLEFT JOIN trả về tất cả các d òng của bảng thứ nhất (Employees), ngay cả khicác dòng đó không ứng với dòng nào ở bảng thứ hai (Orders). Nếu có mộtdòng nào ở bảng Employees không ứng với bất cứ d òng nào ở bảng Orders thìdòng đó cũng vẫn được tính.kết quả trả về: Name Product Hansen, Ola Printer Svendson, Tove Svendson, Stephen Table Svendson, Stephen Chair Pettersen, KariVí dụ: RIGHT JOINCú pháp:SELECT cột_1, cột_2, cột_3 FROM bảng_ 1 RIGHT JOIN bảng_2 ONbảng_1.khoá_chính = bảng_2.khoá_ngoạiLiệt kê tất cả các mặt hàng được đặt và tên người đặt hàng (nếu có):SELECT Employees.Name, Orders.Product FROM Employees RIGHT JOINOrders ON Employees.Employee_ID = Orders.Employee_IDRIGHT JOIN trả về tất cả các d òng ở bảng thứ hai (Orders), ngay cả khi cácdòng đó không ứng với dòng nào ở bảng thứ nhất (Employees). Nếu có mộtdòng nào ở bảng Orders không ứng với bất cứ dòng nào ở bảng Employees thìdòng đó cũng vẫn được tính.kết quả trả về: Name Product Hansen, Ola Printer Svendson, Stephen Table Svendson, Stephen ChairVí dụ: Ai đã đặt hàng máy in:SELECT Employees.Name FROM Employees INNER JOIN Orders ONEmployees.Employee_ID = Orders.Employee_ID WHERE Orders.Product =Printerkết quả trả về:NameHansen, OlaNguồn: blog.thegioiwebsite ...
Nội dung trích xuất từ tài liệu:
Câu lệnh JOINNối kết và khoá Đôi khi chúng ta phải lấy dữ liệu từ hai bảng Câu lệnh JOINNối kết và khoáĐôi khi chúng ta phải lấy dữ liệu từ hai bảng c ùng một lúc, chúng ta thực hiệnmột kết nối.Các bảng trong CSDL có thể quan hệ ràng buộc với nhau thông qua các khoá.Một khoá chính (primary key) là một cột mà trong đó m ỗi giá trị của hàng phảilà duy nhất. Mục đích của khoá là kết nối dữ liệu lại với nhau, từ nhiều bảngkhác nhau mà không gây trùng lắp dữ liệu giữa các bảng.Trong bảng Employees (nhân viên) ở ví dụ dưới đây có cột Employees_ID làkhoá chính, bảo đảm rằng không thể có hai dòng nào có trùng Employees_ID.Employees_ID dùng để phân biệt hai nhân viên khi họ trùng tên.Trong ví dụ dưới đây: Employee_ID là khoá chính c ủa bảng Employees. Prod_ID là khoá chính của bảng Orders. Cột Employeed_ID trong bảng Orders đ ược sử dụng để kết nối với bảng Employees, chỉ đến nhân vi ên trong bảng Employees.Bảng Employees: Employees_ID Name 01 Hansen, Ola 02 Svendson, Tove 03 Svendson, Stephen 04 Pettersen, KariBảng Orders: Prod_ID Product Employee_ID 234 Printer 01 657 Table 03 865 Chair 03Kết nối hai bảng với nhauChúng ta có thể lấy dữ liệu từ hai bảng bằng cách kết nối chúng, t ương tự nhưsau:Ví dụ: Tìm xem ai đã đặt hàng sản phẩm và họ đã đặt món hàng gì:SELECT Employees.Name, Orders.Product FROM Employees, Order sWHERE Employees.Employee_ID = Orders.Employee_IDkết quả trả về: Name Product Hansen, Ola Printer Svendson, Stephen Table Svendson, Stephen ChairVí dụ: Tìm xem ai đã đặt hàng máy in:SELECT Employees.Name FROM Employees, Orders WHEREEmployees.Employee_ID = Orders.Employee_ID AND Orders.Product =Printerkết quả trả về: Name Hansen, OlaSử dụng JOINTa có thể sử dụng từ khoá JOIN để kết nối dữ liệu từ hai bảng.Ví dụ: INNER JOINCú pháp:SELECT cột_1, cột_2, cột_3 FROM bảng_1 INNER JOIN bảng_2 ONbảng_1.khoá_chính = bảng_2.khoá_ngoạiAi đã đặt hàng và họ đã đặt món hàng nào:SELECT Employees.Name, Orders.Product FROM Employees INNER JOINOrders ON Employees.Employee_ID = Orders.Employee_IDINNER JOIN trả về tất cả các d òng ở cả hai bảng khi chúng t ương ứng vớinhau. Nếu có một dòng ở bảng Employees không ứng với dòng nào ở bảngOrders, dòng đó sẽ không được tính.kết quả trả về: Name Product Hansen, Ola Printer Svendson, Stephen Table Svendson, Ste phen ChairVí dụ: LEFT JOINCú pháp:SELECT cột_1, cột_2, cột_3 FROM bảng_1 LEFT JOIN bảng_2 ONbảng_1.khoá_chính = bảng_2.khoá_ngoạiLiệt kê tất cả các nhân viên và món hàng mà họ đặt (nếu có):SELECT Employees.Name, Orders.Product FROM Employees LEFT JOINOrders ON Employees.Employee_ID = Orders.Employee_IDLEFT JOIN trả về tất cả các d òng của bảng thứ nhất (Employees), ngay cả khicác dòng đó không ứng với dòng nào ở bảng thứ hai (Orders). Nếu có mộtdòng nào ở bảng Employees không ứng với bất cứ d òng nào ở bảng Orders thìdòng đó cũng vẫn được tính.kết quả trả về: Name Product Hansen, Ola Printer Svendson, Tove Svendson, Stephen Table Svendson, Stephen Chair Pettersen, KariVí dụ: RIGHT JOINCú pháp:SELECT cột_1, cột_2, cột_3 FROM bảng_ 1 RIGHT JOIN bảng_2 ONbảng_1.khoá_chính = bảng_2.khoá_ngoạiLiệt kê tất cả các mặt hàng được đặt và tên người đặt hàng (nếu có):SELECT Employees.Name, Orders.Product FROM Employees RIGHT JOINOrders ON Employees.Employee_ID = Orders.Employee_IDRIGHT JOIN trả về tất cả các d òng ở bảng thứ hai (Orders), ngay cả khi cácdòng đó không ứng với dòng nào ở bảng thứ nhất (Employees). Nếu có mộtdòng nào ở bảng Orders không ứng với bất cứ dòng nào ở bảng Employees thìdòng đó cũng vẫn được tính.kết quả trả về: Name Product Hansen, Ola Printer Svendson, Stephen Table Svendson, Stephen ChairVí dụ: Ai đã đặt hàng máy in:SELECT Employees.Name FROM Employees INNER JOIN Orders ONEmployees.Employee_ID = Orders.Employee_ID WHERE Orders.Product =Printerkết quả trả về:NameHansen, OlaNguồn: blog.thegioiwebsite ...
Tìm kiếm theo từ khóa liên quan:
Javascript ASP.NET Tin học đại cương giáo trình Tin học đại cương bài giảng Tin học đại cương tài liệu Tin học đại cương lý thuyết Tin học đại cươngGợi ý tài liệu liên quan:
-
Ứng dụng công cụ Quizizz thiết kế trò chơi học tập trong giảng dạy học phần tin học đại cương
12 trang 297 0 0 -
Tài liệu hướng dẫn thực hành Tin học đại cương - ĐH Bách Khoa Hà Nội
40 trang 257 0 0 -
Giáo trình Tin học đại cương part 7
19 trang 229 0 0 -
Giáo trình Tin học đại cương: Phần 1 - ĐH Kinh tế Quốc Dân
130 trang 156 0 0 -
Giáo trình Tin học đại cương (Tái bản năm 2020): Phần 1 - PGS.TS. Nguyễn Thị Thu Thủy (Chủ biên)
105 trang 141 0 0 -
Giáo trình Tin học đại cương: Phần 1 - Vi Hồng Thắm
90 trang 125 0 0 -
Hướng dẫn thực hành lập trình C trên Visual Studio
9 trang 125 0 0 -
Giáo trình Tin học đại cương: Phần 2 - Trần Đình Khang
118 trang 112 0 0 -
Quản trị người dùng trong Exchange 2007 bằng Powershell
9 trang 106 0 0 -
Đề cương học phần Tin học đại cương
23 trang 103 0 0