-
Thiết lập ban đầu
-
Các khái niệm cơ bản
-
Nhóm Truy vấn dữ liệu với SELECT
-
Nhóm thao tác dữ liệu
-
Các nhóm hàm xử lý
-
Hàm trong SQL
-
Các thao tác mở rộng
-
TÀI LIỆU THAM KHẢO CHO LẬP TRÌNH ABAP
Các phép nối JOIN
Các phép nối trong cơ sở dữ liệu
INNER JOIN: Nối trong. Lấy những dữ liệu tồn tại ở cả 2 bảng
LEFT JOIN: Nối Trái, Lấy dữ liệu toàn bộ ở bảng bên phải
RIGHT JOIN: Nối phải. Lấy toàn bộ dữ liệu ở bảng bên phải
FULL JOIN: Lấy toàn bộ dữ liệu có ở 2 bảng
CROSS JOIN: Nối chéo. Nối từng phần tử dữ liệu từ bảng bên trái sang từng phần tử của bảng bên phải
SELF JOIN: Nối đệ quy. Tự nối với chính nó.
-
INNER JOIN: Nối trong. Lấy những dữ liệu tồn tại ở cả 2 bảng
SELECT
c.id candidate_id,
c.fullname candidate_name,
e.id employee_id,
e.fullname employee_name
FROM
hr.candidates c
INNER JOIN hr.employees e ON e.fullname = c.fullname;
-
LEFT JOIN: Nối Trái, Lấy dữ liệu toàn bộ ở bảng bên phải
SELECT
c.id candidate_id,
c.fullname candidate_name,
e.id employee_id,
e.fullname employee_name
FROM
hr.candidates c
LEFT JOIN hr.employees e ON e.fullname = c.fullname;
Trường hợp chỉ lấy dữ liệu bảng bên Trái
SELECT
c.id candidate_id,
c.fullname candidate_name,
e.id employee_id,
e.fullname employee_name
FROM
hr.candidates c
LEFT JOIN hr.employees e ON e.fullname = c.fullname
WHERE e.id employee_id is NULL
-
RIGHT JOIN: Nối phải. Lấy toàn bộ dữ liệu ở bảng bên phải
Ngược lại với Left join
SELECT
c.id candidate_id,
c.fullname candidate_name,
e.id employee_id,
e.fullname employee_name
FROM
hr.candidates c
RIGHT JOIN hr.employees e ON e.fullname = c.fullname
SELECT
c.id candidate_id,
c.fullname candidate_name,
e.id employee_id,
e.fullname employee_name
FROM
hr.candidates c
RIGHT JOIN hr.employees e ON e.fullname = c.fullname
WHERE e.id employee_id is NULL
-
FULL JOIN: Lấy toàn bộ dữ liệu có ở 2 bảng
SELECT
c.id candidate_id,
c.fullname candidate_name,
e.id employee_id,
e.fullname employee_name
FROM
hr.candidates c
FULL OUTER JOIN hr.employees e ON e.fullname = c.fullname
SELECT
c.id candidate_id,
c.fullname candidate_name,
e.id employee_id,
e.fullname employee_name
FROM
hr.candidates c
FULL OUTER JOIN hr.employees e ON e.fullname = c.fullname
WHERE e.id employee_id is NULL or
c.id candidate_id is NULL
CROSS JOIN: Nối chéo. Nối từng phần tử dữ liệu từ bảng bên trái sang từng phần tử của bảng bên phải
-
SELF JOIN: Nối đệ quy. Tự nối với chính nó.
SELECT
e.first_name + ‘ ‘ + e.last_name employee,
m.first_name + ‘ ‘ + m.last_name manager
FROM
sales.staffs e
INNER JOIN sales.staffs m ON m.staff_id = e.manager_id
ORDER BY manager;