OrderIDCustomerIDEemployeeIDOrderDateShipperID10308271996-09-183103093731996-09-191103107781996-09-202
Và một lựa chọn từ bảng "Khách hàng"
ID khách hàng Tên khách hàng Tên liên hệĐịa chỉThành phốMã bưu chínhQuốc gia1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Đức2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222Mexico D. F. 05021Mexico3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D. F. 05023Mexico
SQL INNER THAM GIA Ví dụ
Câu lệnh SQL sau chọn tất cả các đơn hàng có thông tin khách hàng
Thí dụ
CHỌN Đơn đặt hàng. OrderID, khách hàng. Tên khách hàng
TỪ đơn hàng
INNER THAM GIA KHÁCH HÀNG TRÊN đơn hàng. ID khách hàng = Khách hàng. Mã khách hàng;
Ghi chú. Từ khóa
5 chọn tất cả các hàng từ cả hai bảng miễn là có sự trùng khớp giữa các cột. Nếu có các bản ghi trong bảng "Đơn hàng" không khớp với "Khách hàng", các đơn hàng này sẽ không được hiển thịCode language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
THAM GIA Ba bàn
Câu lệnh SQL sau chọn tất cả các đơn đặt hàng có thông tin khách hàng và người giao hàng
Thí dụ
CHỌN Đơn đặt hàng. OrderID, khách hàng. Tên khách hàng, Người gửi hàng. ShipperName
FROM [[Đơn hàng
INNER THAM GIA KHÁCH HÀNG TRÊN Đơn hàng. ID khách hàng = Khách hàng. CustomerID]
INNER JOIN Chủ hàng BẬT Đơn đặt hàng. ShipperID = Người gửi hàng. ID người gửi];
Kiểm tra bản thân với các bài tập
Tập thể dục
Chọn mệnh đề
6 đúng để chọn tất cả các bản ghi từ hai bảng có sự trùng khớp trong cả hai bảngCode language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
Bản tóm tắt. trong hướng dẫn này, bạn sẽ học cách sử dụng mệnh đề MySQL
5 để chọn dữ liệu từ nhiều bảng dựa trên các điều kiện tham giaCode language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
Giới thiệu về mệnh đề MySQL SELECT
productCode,
productName,
textDescription
FROM
products t1
INNER JOIN productlines t2
ON t1.productline = t2.productline;
Code language: SQL [Structured Query Language] [sql]
5
SELECT
productCode,
productName,
textDescription
FROM
products t1
INNER JOIN productlines t2
ON t1.productline = t2.productline;
5 khớp từng hàng trong một bảng với mọi hàng trong các bảng khác và cho phép bạn truy vấn các hàng chứa các cột từ cả hai bảngCode language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
5 là một mệnh đề tùy chọn của câu lệnhCode language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
3. Nó xuất hiện ngay sau mệnh đềCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
4. Đây là cú pháp của mệnh đềCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
5Code language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition1 INNER JOIN t3 ON join_condition2 ...;
Trong cú pháp này
- Đầu tiên, chỉ định bảng chính xuất hiện trong mệnh đề
4 [
Code language: SQL [Structured Query Language] [sql]SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
7]
Code language: SQL [Structured Query Language] [sql]SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
- Thứ hai, chỉ định bảng sẽ được nối với bảng chính, xuất hiện trong mệnh đề
5 [
Code language: SQL [Structured Query Language] [sql]SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
9,
Code language: SQL [Structured Query Language] [sql]SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
0,…]
Code language: SQL [Structured Query Language] [sql]SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
- Thứ ba, chỉ định một điều kiện nối sau từ khóa
1 của mệnh đề
Code language: SQL [Structured Query Language] [sql]SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
5. Điều kiện nối chỉ định quy tắc khớp hàng giữa bảng chính và bảng đã xuất hiện trong mệnh đề
Code language: SQL [Structured Query Language] [sql]SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
5
Code language: SQL [Structured Query Language] [sql]SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
Giả sử bạn muốn nối hai bảng
7 và
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Code language: SQL [Structured Query Language] [sql]
9Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Câu lệnh sau minh họa cách nối hai bảng
7 vàCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
9 bằng cách sử dụng mệnh đềCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
5Code language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Mệnh đề
5 so sánh từng hàng trong bảngCode language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
7 với mọi hàng trong bảngCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
9 dựa trên điều kiện nốiCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Nếu các hàng từ cả hai bảng làm cho điều kiện nối được đánh giá là
52, thìCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
5 sẽ tạo một hàng mới có các cột chứa tất cả các cột của các hàng từ các bảng và bao gồm hàng mới này trong tập kết quả. Mặt khác,Code language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
5 chỉ cần bỏ qua các hàngCode language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
Trong trường hợp không có hàng nào giữa các bảng làm cho điều kiện tham gia ước tính thành
52, thìCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
5 trả về một tập kết quả trống. Logic này cũng được áp dụng khi bạn tham gia nhiều hơn 2 bảngCode language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
Biểu đồ Venn sau đây minh họa cách thức hoạt động của mệnh đề
5Code language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
MySQL SELECT
productCode,
productName,
textDescription
FROM
products t1
INNER JOIN productlines t2
ON t1.productline = t2.productline;
Code language: SQL [Structured Query Language] [sql]
5 ví dụ
SELECT
productCode,
productName,
textDescription
FROM
products t1
INNER JOIN productlines t2
ON t1.productline = t2.productline;
Hãy xem các bảng
59 vàCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
80 trong cơ sở dữ liệu mẫuCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Trong sơ đồ này, bảng
59 có cộtCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
82 tham chiếu đến cộtCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
83 của bảngCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
80. CộtCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
82 trong bảngCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
59 được gọi là cột khóa ngoạiCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Thông thường, bạn tham gia các bảng có mối quan hệ khóa ngoại như bảng
80 vàCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
59Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Giả sử bạn muốn lấy
89 và
Code language: SQL [Structured Query Language] [sql]SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
80 từ bảng
Code language: SQL [Structured Query Language] [sql]SELECT select_list FROM t1 INNER JOIN t2 ON join_condition1 INNER JOIN t3 ON join_condition2 ...;
59
Code language: SQL [Structured Query Language] [sql]SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
82 dòng sản phẩm từ bảng
Code language: SQL [Structured Query Language] [sql]SELECT select_list FROM t1 INNER JOIN t2 ON join_condition1 INNER JOIN t3 ON join_condition2 ...;
80
Code language: SQL [Structured Query Language] [sql]SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Để thực hiện việc này, bạn cần chọn dữ liệu từ cả hai bảng bằng cách khớp các hàng dựa trên các giá trị trong cột
83 bằng cách sử dụng mệnh đềCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
5 như sauCode language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
Code language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
Dùng thử
Vì các cột đã nối của cả hai bảng có cùng tên
83 nên bạn có thể sử dụng cú phápCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
87Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition1 INNER JOIN t3 ON join_condition2 ...;
5Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Truy vấn trả về cùng một tập kết quả. Tuy nhiên, cú pháp
87 ngắn hơn và rõ ràng hơn nhiềuCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition1 INNER JOIN t3 ON join_condition2 ...;
MySQL SELECT
productCode,
productName,
textDescription
FROM
products t1
INNER JOIN productlines t2
ON t1.productline = t2.productline;
Code language: SQL [Structured Query Language] [sql]
5 với ví dụ về mệnh đề SELECT
select_list
FROM
t1
INNER JOIN t2 ON join_condition;
Code language: SQL [Structured Query Language] [sql]
80
SELECT
productCode,
productName,
textDescription
FROM
products t1
INNER JOIN productlines t2
ON t1.productline = t2.productline;
SELECT
select_list
FROM
t1
INNER JOIN t2 ON join_condition;
Xem các bảng
81 vàCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
82 sau đâyCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Truy vấn này trả về số đơn hàng, trạng thái đơn hàng và tổng doanh số từ các bảng
81 vàCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
82 bằng cách sử dụng mệnh đềCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
5 với mệnh đềCode language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
86Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
8Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Dùng thử
Tương tự, truy vấn sau đây sử dụng cú pháp
5 với cú phápCode language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
87Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition1 INNER JOIN t3 ON join_condition2 ...;
8Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition1 INNER JOIN t3 ON join_condition2 ...;
MySQL SELECT
productCode,
productName,
textDescription
FROM
products t1
INNER JOIN productlines t2
ON t1.productline = t2.productline;
Code language: SQL [Structured Query Language] [sql]
5 – tham gia ba bảng ví dụ
SELECT
productCode,
productName,
textDescription
FROM
products t1
INNER JOIN productlines t2
ON t1.productline = t2.productline;
Xem các bảng
59,Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
81 vàCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
82 sau đâyCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Truy vấn này sử dụng hai mệnh đề
5 để nối ba bảng.Code language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
81,Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
82 vàCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
59Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
8Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Hình ảnh này cho thấy đầu ra một phần
MySQL SELECT
productCode,
productName,
textDescription
FROM
products t1
INNER JOIN productlines t2
ON t1.productline = t2.productline;
Code language: SQL [Structured Query Language] [sql]
5 – tham gia bốn bảng ví dụ
SELECT
productCode,
productName,
textDescription
FROM
products t1
INNER JOIN productlines t2
ON t1.productline = t2.productline;
Xem các bảng sau
81,Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
82,Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
60 vàCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
59Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Ví dụ này sử dụng ba mệnh đề
5 để truy vấn dữ liệu từ bốn bảng trênCode language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;
8Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
MySQL SELECT
productCode,
productName,
textDescription
FROM
products t1
INNER JOIN productlines t2
ON t1.productline = t2.productline;
Code language: SQL [Structured Query Language] [sql]
5 sử dụng toán tử khác
SELECT
productCode,
productName,
textDescription
FROM
products t1
INNER JOIN productlines t2
ON t1.productline = t2.productline;
Cho đến giờ, bạn đã thấy rằng điều kiện nối đã sử dụng toán tử bằng [=] cho các hàng phù hợp
Ngoài toán tử bằng [=], bạn có thể sử dụng các toán tử khác như lớn hơn [
64], nhỏ hơn [Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
65] và toán tử không bằng nhau [Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
66] để tạo thành điều kiện nốiCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Truy vấn sau sử dụng phép nối nhỏ hơn [
65] để tìm giá bán của sản phẩm có mã làCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
68 thấp hơn giá bán lẻ đề xuất của nhà sản xuất [MSRP] cho sản phẩm đóCode language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
6Code language: SQL [Structured Query Language] [sql]
SELECT select_list FROM t1 INNER JOIN t2 ON join_condition;
Trong hướng dẫn này, bạn đã học cách sử dụng MySQL
5 để truy vấn dữ liệu từ nhiều bảng.Code language: SQL [Structured Query Language] [sql]
SELECT productCode, productName, textDescription FROM products t1 INNER JOIN productlines t2 ON t1.productline = t2.productline;