Bài giảng thực hành cơ SỞ DỮ liệU



tải về 4.27 Mb.
Chế độ xem pdf
trang34/43
Chuyển đổi dữ liệu13.11.2023
Kích4.27 Mb.
#55638
1   ...   30   31   32   33   34   35   36   37   ...   43
TH CSDL 2015Sep
NEW.Bài giảng CSDL sau nghiệm thu-2023, 6. Đề cương Cơ sở dữ liệu- sau nghiệm thu. 23.02.2022, Chuong01-CSDL
3. PHÉP TỰ NỐI (Self Join) 
Một phép tự nối là một kiểu nối trong đó một bảng được nối với chính nó, cụ thể khi 
một bảng có một khóa ngoài tham chiếu tới khóa chính của nó.
Ví dụ: Bảng employees có một khóa ngoài là reportsTo tham chiếu tới khóa chính 
employeeNumber của chính bảng employees. 
Cần thiết phải sử dụng bí danh cho mỗi bản sao của bảng đó để tránh nhập nhằng
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; 
Kết quả trả về như sau: 


88 
Bài tập thực hành: 
1. Đưa ra thông tin về các nhân viên và tên văn phòng nơi họ làm việc. 
2. Đưa ra thông tin về tên khách hàng và tên các sản phẩm họ đã mua. 
3. Đưa ra thông tin về các mặt hàng chưa có ai đặt mua. 
4. Đưa ra các đơn hàng trong tháng 3/2005 (gồm orderDate, requiredDate, Status) và 
tổng giá trị của mỗi đơn hàng . 
5. Đưa ra thông tin về các dòng sản phẩm và số lượng sản phẩm của dòng sản phẩm 
đó. Sắp xếp theo thứ tự số lượng giảm dần. 
 


89 
Bài thực hành số 8 
Truy vấn con (Subquery) 
 
Nội dung chính: 
Khái niệm và sử dụng truy vấn con, truy vấn con tương quan và 
không tương quan. 
1. Khái niệm truy vấn con 
Để kết hợp các bảng dữ liệu với nhau, ngoài các phép nối và các toán tử tập hợp, SQL 
cung cấp một cách khác để trả lại dữ liệu từ nhiều bảng gọi là truy vấn con (subquery). 
Khi một câu lệnh SELECT được sử dụng trong một câu lệnh khác, câu lệnh SELECT bên 
trong được gọi là truy vấn con (subquery), cách gọi khác là truy vấn lồng (nested query), 
truy vấn trong (inner query). Cơ bản một truy vấn con có thể được sử dụng ở bất cứ nơi 
đâu mà một biểu thức có thể được sử dụng.
Ví dụ: Đưa ra các đơn hàng gần đây nhất 
SELECT * FROM orders 
WHERE orderDate = (SELECT MAX(orderDate) FROM orders) 
Truy vấn con SELECT MAX(orderDate) FROM orders trả lại ngày gần đây 
nhất trong các đơn hàng và giá trị này sẽ được sử dụng trong mệnh đề WHERE của truy 
vấn ngoài. Kết hợp hai truy vấn trên sẽ trả lại danh sách các đơn hàng của ngày gần nhất.
Truy vấn con được chia làm hai loại: truy vấn con không tương quan (non-correlated) và 
truy vấn con có tương quan (correlated) 

tải về 4.27 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   30   31   32   33   34   35   36   37   ...   43




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương