Một số phép nối bảng trong MySQL

(Ngày: 06/01/2020)
Bài viết này sẽ liệt kê một số phép nối bảng trong MySQL. Nhưng trước hết, bạn hãy khởi động MySQL và cài đặt Classicmodels database.

Bài viết này sẽ liệt kê một số phép nối bảng trong MySQL. Nhưng trước hết, bạn hãy khởi động MySQL và cài đặt Classicmodels database.

Phép nối trong (Inner join)

Thí dụ: Bảng products là bảng lưu trữ các sản phẩm. Khi nào một sản phẩm được bán ra, nó được lưu trữ trong bảng OrderDetails cùng với các thông tin khác. Liên kết giữa các bảng này là cột productCode. Để lấy ra thông tin về các sản phẩm đã được bán, ta có thể dùng INNER JOIN.

SELECT products.productCode, products.productName, orderdetails.orderNumber FROM products INNER JOIN orderdetails

on products.productCode = orderdetails.productCode;

Phép nối trái (Left join)

Ví dụ: Nếu muốn biết các khách hàng có những hóa đơn thế nào thì ta có thể làm như sau:

SELECT customers.customerNumber, customerName, orderNUmber, orders.status FROM customers LEFT JOIN orders

on customers.customerNumber = orders.customerNumber;

Nếu muốn biết tất cả những khách hàng không có hóa đơn nào, ta làm như sau:

SELECT customers.customerNumber, customerName, orderNUmber, orders.status FROM customers LEFT JOIN orders

on customers.customerNumber = orders.customerNumber WHERE orderNumber is NULL ;

Phép tự nối

Ví dụ nếu bạn muốn đưa ra danh sách các thông tin nhân viên và thông tin người quản lý của họ:

SELECT concat (e1.lastName ," ",e1.firstName) as fullname, e1.email, concat (e2.lastName ," ",e2.firstName) as manager, e2.email

FROM employees e1, employees e2 WHERE e1.reportsTo = e2.employeeNumber;

Chúc bạn thành công.

viblo.asia