SQL Join trong SQL.

23/06/2016 Nguyễn Hồng Vân

Bài viết sau đây sẽ giới thiệu tới các bạn về sql, SQL Join trong SQL. Chúng ta hãy cùng nhau tìm hiểu bài viết.

Joins and các Khóa (Key) 

Đôi khi chúng ta chọn dữ liệu từ hai bảng để tạo kết quả, Chúng ta thực hiện một kết nối (join). 

Các bảng trong cơ sở dữ liệu có thể liên hệ với các bảng khác thông qua các khóa. Một khóa chính (primary key) là một cột với các trị duy nhất cho mỗi hàng. Mục tiêu là ràng buộc dữ liệu, tham chiếu chéo các bảng, không cần lặp lại tất cả dữ liệu trong từng bảng. 

Trong bảng "Employees" phía dưới, cột "ID" là khóa chính, nghĩa là cột này không có hai hàng cùng ID. ID dùng phân biệt hai người nếu cả hai có cùng tên. 

Khi bạn xem bảng ví dụ phía dưới, chú ý rằng:  

  • Cột "ID" là khóa chính của bảng "Employees"
  • Cột "ID" trong bảng "Orders" dùng để tham chiếu các tên trong bảng "Employees" không cần đưa các tên này vào bảng “Orders”

Employees:

ID

Name

01

Hansen, Ola

02

Svendson, Tove

03

Svendson, Stephen

04

Pettersen, Kari

Orders:

ID

Product

01

Printer

03

Table

03

Chair

Tham chiếu đến hai Bảng

Chúng ta có thể chọn dữ liệu từ hai bảng bằng cách tham chiếu đến hai bảng, như sau: Ví dụ

Ai đã đăng ký một sản phẩm và đăng ký sản phẩm nào?

SELECT Employees.Name, Orders.Product

FROM Employees, Orders

WHERE Employees.ID = Orders.ID

Kết quả

Name

Product

Hansen, Ola

Printer

Svendson, Stephen

Table

Svendson, Stephen

Chair

Ví dụ

Ai đã đăng ký một máy in?

SELECT Employees.Name

FROM Employees, Orders

WHERE Employees.ID = Orders.ID AND Orders.Product = 'Printer'

Kết quả

Name

Hansen, Ola

Dùng các Kết nối (Join)

HOẶC, chúng ta có thể chọn dữ liệu từ hai bảng với từ khóa JOIN, giống như sau:

Ví dụ INNER JOIN Cú pháp

SELECT field1, field2, field3 FROM first_table

INNER JOIN second_table

ON first_table.keyfield = second_table.foreign_keyfield

Ai đã đăng ký một sản phẩm và đăng ký sản phẩm nào?

SELECT Employees.Name, Orders.Product

FROM Employees

INNER JOIN Orders

ON Employees.ID = Orders.ID

INNER JOIN trả về tất cả các hàng từ hai bảng khi điều kiện được so trùng. Nếu các hàng trong bảng Employees không so trùng trong bảng Orders, hàng đó sẽ không được liệt kê ra. Kết quả

Name

Product

Hansen, Ola

Printer

Svendson, Stephen

Table

Svendson, Stephen

Chair

Ví dụ LEFT JOIN Cú pháp

SELECT field1, field2, field3 FROM first_table

LEFT JOIN second_table

ON first_table.keyfield = second_table.foreign_keyfield

Liệt kê tất cả nhân viên, và các đăng ký mua của họ nếu có.

SELECT Employees.Name, Orders.Product

FROM Employees

LEFT JOIN Orders

ON Employees.ID = Orders.ID

LEFT JOIN trả về tất cả các hàng từ bảng thứ nhất (Employees), cho dù nó không được so trùng trong bảng thứ hai (Orders). Nếu các hàng trong bảng Employees không so trùng trong bảng Orders, những hàng này cũng được liệt kê.

Kết quả

Name

Product

Hansen, Ola

Printer

Svendson, Tove

 

Svendson, Stephen

Table

Svendson, Stephen

Chair

Pettersen, Kari

 

Ví dụ RIGHT JOIN

Cú pháp

SELECT field1, field2, field3 FROM first_table

RIGHT JOIN second_table

ON first_table.keyfield = second_table.foreign_keyfield

Liệt kê tất cả nhân viên, và các đăng ký mua của họ nếu có.

SELECT Employees.Name, Orders.Product

FROM Employees

RIGHT JOIN Orders

ON Employees.ID = Orders.ID

RIGHT JOIN trả về tất cả các hàng từ bảng thứ hai (Orders), cho dù nó không được so trùng trong bảng thứ nhất (Employees). Nếu có bất kỳ hàng nào trong bảng Orders không được so trùng trong bảng Employees, các hàng này cũng được liệt kê. Kết quả

Name

Product

Hansen, Ola

Printer

Svendson, Stephen

Table

Svendson, Stephen

Chair

Ví dụ

Ai đăng ký một máy in?

SELECT Employees.Name

FROM Employees

INNER JOIN Orders

ON Employees.ID = Orders.ID

WHERE Orders.Product = 'Printer'

Kết quả

Name

Hansen, Ola

Tag: Sql 2005sql server 2005giáo trình sql servergiao trinh sql servertự học sql 2005tu hoc sql 2005tìm hiểu sql serversql servercâu lệnh truy vấn sqlSQL Join trong SQL.

Đang phát triển ...

Bài viết liên quan

SQL Alter Table

Bài viết sau đây sẽ giới thiệu tới các bạn về sql, SQL Alter Table, lợi ích của nó trong công việc, học tập của chúng ta.

SQL Tạo Cơ sở dữ liệu và Bảng

Bài viết sau đây sẽ giới thiệu tới các bạn cách tạo cơ sở dữ liệu và bảng trong sql, chúng ta hãy cùng nhau đi tìm hiểu bài viết.

Các bí danh (Alias) SQL

Bài viết sau đây sẽ giới thiệu tới các bạn về Các bí danh (Alias) SQL trong sql server 2005, chúng ta hãy cùng nhau tìm hiểu.

SQL Group By và SQL Having

Bài viết sau đây sẽ giới thiệu tới các bạn về chuyên mục SQL Group By và SQL Having trong SQL server 2005.

Các hàm SQL

Bài viết sau đây sẽ giới thiệu với các bạn về các hàm SQL trong sql server 2005, chúng ta hãy cùng nhau tìm hiểu ngay sau đây.

Các hàm SQL Count

Hiểu về SQL cũng chính là hiểu về các hàm trong đó. Bài viết sau đây sẽ giới thiệu tới các bạn bài học về các hàm SQL Count.

SQL Delete

Bài viết này sẽ giúp các bạn hiểu và biết cách xóa trong sql, chúng ta hãy cùng nhau tìm hiểu về SQL Dalete.

SQL Update

Bài viết giới thiệu về SQL Update trong sql server 2005, chúng ta hãy cùng nhau tìm hiểu bài viết để hiểu hơn về SQL.

SQL INSERT INTO

Bài viết sau đây sẽ giới thiệu tới các bạn về SQL INSERT INTO  trong sql server 2005. chúng ta hãy cùng nhau tìm hiểu bài viết.

SQL Order By

Bài viết sau đây sẽ giới thiệu tới các bạn về Sql Order By trong sql server 2005. chúng ta hãy cùng nhau tìm hiểu bài viết.

SQL Select Distinct

Bài viết sau đây sẽ giới thiệu với các bạn về sql, sql server 2005, SQL Select Distinct.

SQL Between...And

Bài viết giới thiệ về sql, sql server 2005, SQL Between...And.

Tấn công ransomware cực lớn trên toàn cầu, tải về bản vá lỗi ngay

Tấn công ransomware cực lớn trên toàn cầu, tải về bản vá lỗi ngay

Cuộc tấn công vào NHS đã sử dụng một dạng ransomware có tên Wanacryptor và nhắm mục tiêu vào hàng nghìn tổ chức ở 74 quốc gia. Ransomware là một dạng tấn công mạng có liên quan đến việc các hacker nắm quyền kiểm soát máy tính hoặc thiết bị di động và yêu cầu đòi tiền chuộc. Bằng nhiều cách, những kẻ tấn công tải phần mềm độc hại vào thiết bị và mã hóa thông tin của nạn nhân.

Kỹ thuật tìm kiếm và thay thế từ cơ bản đến nâng cao trong MS Office (Word)

Kỹ thuật tìm kiếm và thay thế từ cơ bản đến nâng cao trong MS Office (Word)

Trong Word nói riêng, Office nói chung, có lẽ ai cũng biết chức năng tìm kiếm và thay thế nội dung văn bản, nhưng ngoài ra, còn nhiểu chức năng khác trong hộp thoại tìm kiếm và thay thế mà không phải ai cũng biết để sử dụng. Trong đó có tìm kiếm và thay thế định dạng, sử dụng các ký hiệu đại diện, các ký tự đặc biệt… 

Bài 6: Thủ thuật outlook 2010

Bài 6: Thủ thuật outlook 2010

Bài viết giới thiệu đến các bạn một số thủ thuật được dùng trong outlook 2010, để giúp công việc của các bạn được dễ dàng hơn.

Bài 5: Quản lý các thông tin trong  outlook 2010

Bài 5: Quản lý các thông tin trong outlook 2010

Bài viết giới thiệu về phương pháp quản lý thông tinn trong outlook 2010. Chúng ta hãy cùng tìm hiểu xem có điểm gì khác và nổi bật so với outlook 2007

Bài 4: Sử dụng lịch làm việc một cách hiệu quả outlook 2010

Bài 4: Sử dụng lịch làm việc một cách hiệu quả outlook 2010

Để công việc của đạt hiệu quả cao hơn, chúng ta hãy cùng nhau tìm hiểu cách sử dụng lịch làm việc một cách hiệu quả hơn trong outlook 2010

Bài 3: Quản lý hộp thư của bạn về dung lượng và lưu trữ outlook 2010

Bài 3: Quản lý hộp thư của bạn về dung lượng và lưu trữ outlook 2010

Bài viết sau đây sẽ giới thiệu về mục quản lý hộp thư của bạn về dung lượng và lưu trữ trong microsoft outlook 2010.

Hàm SLEEP trong PHP

Hàm SLEEP trong PHP

Có những lúc trong công việc lập trình ta cần mã tạm dừng theo một thời gian định trước thì trong php có hỗ trợ hàm sleep để các bạn làm điều này.

Hàm Rand trong PHP

Hàm Rand trong PHP

Đôi lúc chúng ta lập trình cần đến những con số sinh ngẫu nhiên vào những công việc khách nhau hôm này mình xin giới thiệu với mọi người hàm sinh số ngẫu nhiên trong PHP

Bài 9: Giới thiệu lập trình hướng đối tượng trong PHP (OOP)

Bài 9: Giới thiệu lập trình hướng đối tượng trong PHP (OOP)

Các bạn tự học PHP nên biết về lập trình hướng đối tượng trong PHP, kỹ thuật lập trình hỗ trợ công nghệ đối tượng

Bài 8: Hàm có sẵn thông dụng trong PHP

Bài 8: Hàm có sẵn thông dụng trong PHP

Hàm thông dụng trong php cần biết, các bạn mới bắt đầu lên nắm rõ ý nghĩa cấu trúc cách dùng những hàm này để bổ trợ kiến thức sau này

Bài 7: Hàm trong PHP

Bài 7: Hàm trong PHP

Hàm do người sử dụng định nghĩa cho phép bạn xử lý những tác vụ thường lặp đi lặp lại trong ứng dụng. cách khai báo, cú pháp của hàm trong php