1. Trang chủ
  2. » Công Nghệ Thông Tin

Truy Vấn Con Và Sử Dụng Chuỗi Kí Tự Trong Kết Quả HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

18 366 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 26,37 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

I. Truy vấn con ?II. Cú pháp III. Các quy tắc trong truy vấn conIV. Thứ tự thực hiện truy vấn conV. Các dạng truy vấn conVI. Phân loại truy vấn conVII. Sử dụng chuỗi kí tự trong kết quảI. Truy vấn con ?II. Cú pháp III. Các quy tắc trong truy vấn conIV. Thứ tự thực hiện truy vấn conV. Các dạng truy vấn conVI. Phân loại truy vấn conVII. Sử dụng chuỗi kí tự trong kết quả

Trang 1

BÀI BÁO CÁO

CHỦ ĐỀ: Truy Vấn Con Và Sử Dụng Chuỗi Kí Tự Trong Kết Quả

Môn: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

Trang 2

Danh sách nhóm 4

Trang 3

Nội dung:

I Truy vấn con ?

II Cú pháp III Các quy tắc trong truy vấn con

IV Thứ tự thực hiện truy vấn con

V Các dạng truy vấn con

VI Phân loại truy vấn con

VII Sử dụng chuỗi kí tự trong kết quả

Trang 4

I Truy vấn con ?

• Truy vấn con là một lệnh SELECT xuất hiện trong một lenh SELECT khác hoặc trong các lệnh UPDATE, DELETE và trả kết quả trung gian Truy vấn con còn được gọi là truy vấn lồng.

• Số mức lồng của các truy vấn con trong một truy vấn là 255.

• Khi thực hiện câu lệnh SQL có truy vấn con, câu truy vấn con sẽ được thực thi trước, sau đó mới đến câu truy vấn bên ngoài.

Trang 5

II Cú pháp

Các truy vấn con thường xuyên được sử dụng với lệnh SELECT Cú pháp cơ bản của truy vấn con với lệnh SELECT là như sau:

• SELECT column_name [, column_name ]

FROM table1 [, table2 ]

WHERE column_name OPERATOR

(SELECT column_name [, column_name ]

FROM table1 [, table2 ]

[WHERE])

Truy vấn cha

Truy vấn con

Trang 6

III Các quy tắc trong truy vấn con

• Các truy vấn con phải được bao trong các dấu ngoặc đơn

• Truy vấn đơn trị nếu không có một hàng nào được trả về thì sẽ là giá trị NULL; nếu có nhiều hơn một hang được trả về thì sẽ gây ra lỗi

• Mệnh đề SELECT của truy vấn con phải chứa tên các cột, biểu thức trừ truy vấn con được sữ dụng từ khóa EXISTS Các cột trong mệnh đề SELECT truy vấn con phải tương ứng với các cột trong mệnh đề điều kiện của truy vấn ngoài

• Khi một truy vấn con là một trong hai toán hạng của phép toán so sánh, thì truy vấn con phải ở bên phải của phép toán so sánh

Trang 7

• Đối với truy vấn con đơn hàng, các phép toán quan hệ ( =, <>.<=, >=,…) có thể được sử dụng trong điều kiện truy vấn ngoài.

• Đối với truy vấn con đa hàng, các phép toán quan hệ ( =, <>.<=, >=,…) không thể sử dụng trong điều kiện truy vấn ngoài, nhưng có thể sử dụng các phép toán IN, ALL, ANY/SOME

• Các truy vấn con luôn luôn được thực hiện từ truy vấn trong cùng đến các truy vấn ngoài cùng, ngoại trừ chúng là các truy vấn con tương quan.

Trang 8

IV Thứ tự thực hiện truy vấn con

1 Trước tiên, truy vấn con được thực hiện Truy vấn con trả về một giá trị hoặc một tập các giá trị

cho truy vấn cha.

2 Sau đó, truy vấn cha được thực hiện dựa vào kết quả trả về của truy vấn con.

3 Cuối cùng, truy vấn cha được thực hiện Quá trình thực hiện bắt đầu từ truy vấn con trong cùng

dần đến truy cha.

Trang 9

Tìm tên của những nhân viên có lương đạt trên mức lương trung bình của tất cả các nhân viên

SELECT ho_ten , luong FROM nhan_vien WHERE luong >

(SELECT AVG(luong) FROM nhan_vien);

Trước tiên truy vấn sẽ thực hiện “SELECT AVG(luong) FROM” nhan_vien để tìm tổng lương của tất cả nhân viên (giả sử là 500) Rồi sau đó thực hiện truy vấn cha, tức là liệt kê các nhân viên có lương lớn hơn 500

SELECT ho_ten , luong FROM nhan_vien WHERE luong > 500

Trang 10

V Các dạng truy vấn con

• Truy vấn con đơn hàng: trả về một hoặc nhiều cột và một hàng Thường được sử dụng khi cần lấy về nhiều giá trị Trường hơp chỉ cho về một giá trị (một cột một hàng) được gọi là truy vấn con đơn trị.

• Truy vấn con đơn hàng –Trả về duy nhất 1 dòng –Sử dụng các toán tử so sánh một dòng

Vd:

SELECT manhanvien, tennv FROM qlns.nhanvien WHERE mucluong =

(SELECT MIN(mucluong) FROM qlns.nhanvien GROUP BY maphong)

Trang 11

Truy vấn con đa hàng: trả kết quả về với nhiều cột và nhiều hàng.

Truy vấn con đa hàng

–Trả về nhiều dòng

–Sử dụng các toán tử so sánh nhiều dòng

Vd:

SELECT manhanvien, tennv, macongviec, mucluong FROM qlns.nhanvien

WHERE mucluong < ALL

( SELECT mucluong FROM qlns.nhanvien WHERE macongviec = ‘TPHONG')

AND macongviec <> ‘TPHONG';

Trang 12

VI Phân loại truy vấn con

Có 2 loại truy vấn con

Loại 1: Lồng phân cấp

Mệnh đề WHERE của truy vấn con không tham chiếu đến thuộc tính của các quan hệ trong mệnh đề FROM ở truy vấn cha Vd:

Trang 13

Loại 2: Lồng tương quan

Mệnh đề WHERE của truy vấn con tham chiếu ít nhất một thuộc tính của các quan hệ trong mệnh đề FROM ở truy vấn cha

VD:

Trang 14

Giá trị IN, ALL, ANY, EXISTS, NOT EXISTS trong truy vấn con

 Phép toán

• IN – kiểm tra sự tồn tại của một giá trị trong một tập hợp

• ALL – so sánh một giá trị với tất cả các giá trị của tập hợp.

• ANY – so sánh một giá trị với một giá trị nào đó của tập hợp.

• ALL, ANY được kết hợp với các phép toán so sánh ( = <, <=,>=, <> ).

• EXISTS - kiểm tra sự tồn tại của kết quả của một câu truy vấn.

 Cú pháp:

• <tên thuộc tính> IN <truy vấn con>

• <tên thuộc tính> < phép toán so sánh> ALL <truy vấn con>

• <tên thuộc tính> <phép toán so sánh> ANY <truy vấn con>

• EXISTS <truy vấn con>

Trang 15

Tìm các nhân viên của phòng số 5 ?

SELECT * FROM nhanvien WHERE maphong IN (SELECT mapb FROM phongban WHERE mapb=5 )

Cho biết tên nhân viên có mức lương lớn hơn lương của các nhân viên phòng số 5.

SELECT * FROM NHANVIEN WHERE Luong > ALL

( SELECT Luong FROM NHANVIEN WHERE MaPB = 5)

Cho biết các nhân viên không tham gia các dự án mà phòng số 5 quản lý.

SELECT MaNV FROM THAMGIA WHERE MaDA NOT IN

( SELECT MaDA FROM DUAN WHERE Phg = 5)

Tìm nhân viên không có thân nhân nào.

SELECT * FROM NHANVIEN as NV WHERE NOT EXISTS

( SELECT * FROM THANNHAN as TN WHERE TN.MaNV = NV.MaNV)

Tìm tất cả các nhân viên làm việc ở phòng nghiên cứu.

SELECT * FROM NHANVIEN n WHERE EXISTS

( SELECT * FROM PHONGBAN p WHERE TENPHG = ‘Nghiên cứu’ and p.MAPHG = n.PHG)

Trang 16

• Cú pháp:

SELECT tên cột AS tên gán FROM tên bảng;

Thông thường các cột được đặt tên không có dấu, không khoảng trống, chính vì vậy khi xuất dữ liệu người dùng sẽ khó biết được cột kết quả xuất

ra là cột gì Để dễ dàng hơn ta cần phải đặt một cái tên mới cho các cột kết quả AS có nhiệm vụ là gán cho cột một cái tên mới.

Vd:

VII Sử dụng chuỗi kí tự trong kết quả

Ngày đăng: 01/04/2018, 09:30

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w