Xem mẫu
- CƠ SỞ DỮ LIỆU
( Databases )
Chương 3: Ngôn ngữ truy vấn SQL
- Nội dung
1. Khái quát về ngôn ngữ truy vấn dữ liệu
2. Câu lệnh SELECT
3. Các hàm thao tác dữ liệu
4. Truy vấn thông tin từ nhiều bảng
5. Các lệnh cập nhật dữ liệu
6. Các lệnh liên quan tới cấu trúc
7. Các lệnh giao quyền truy cập CSDL
8. Bài tập
Chương 3 - Ngôn ngữ truy vấn SQL 2
- 3.1. Giới thiệu SQL
SQL được xem là yếu tố chính đóng góp vào sự thành
công của CSDL quan hệ khi áp dụng trong thực tế.
Là ngôn ngữ mức cao, người dùng chỉ cần xác định kết
quả của truy vấn là gì, phần còn lại là tính toán và tối ưu
hoá câu lệnh được DBMS đảm nhiệm.
1970: SQL (Structured Query Language) bắt nguồn từ
ngôn ngữ SEQUEL (Structured English QUEry
Language), ngôn ngữ được thiết kế tại tập đoàn IBM
nhằm khi đưa ra hệ quản trị CSDL có tên là SYSTEM-R
Chương 3 - Ngôn ngữ truy vấn SQL 3
- 3.1. Giới thiệu SQL (tt)
Năm 1976: SEQUEL được cải tiến thành SEQUEL2
Năm 1978-1979: SEQUEL2 được nâng cấp và đổi
tên thành SQL (nhưng vẫn đọc là SEQUEL)
Chuẩn SQL đầu tiên có tên gọi SQL-86 (SQL1) được
công nhận và chuẩn hóa bởi ANSI và ISO.
Năm 1992: SQL1 được mở rộng với nhiều tính năng
mới và được gọi là SQL-92 (SQL2).
Năm 1999: Chuẩn SQL-99 (SQL3) ra đời
Phiên bản mới nhất hiện nay là SQL-2011
Chương 3 - Ngôn ngữ truy vấn SQL 4
- 3.1. Giới thiệu SQL (tt)
Ngôn ngữ giao thiết CSLD gồm:
– DDL – Data Definition Language
– DML – Data Manipulation Language
– SQL – Structured Query Language
– DCL – Data Control Language
SQL gồm 2 nhóm lệnh
– DDL: Tạo cấu trúc CSDL
– DML: Thao tác trên CDSDL
• CREATE
• SELECT
• INSERT, UPDATE, DELETE…
Chương 3 - Ngôn ngữ truy vấn SQL 5
- Lược đồ CSDL sử dụng
NHANVIEN (MANV,HONV, TENLOT, TENNV, PHAI,
LUONG, DIACHI, NGAYSINH, MA_NQL, PHG)
PHONGBAN (MAPB, TENPB, TRPHG, NGAYBĐ)
DIADIEM_PHG (MAPB, DIADIEM)
DEAN (MADA, TENDA, NGAYBD, PHONG, DIADIEM_DA)
PHANCONG (MANV, MADA, THOIGIAN)
THANNHAN (MANV,TENTN,PHAI,NGAYSINH,QUANHE)
Chương 3 - Ngôn ngữ truy vấn SQL 6
- 3.2. lệnh SELECT – Truy vấn dữ liệu
Gồm 3 mệnh đề cơ bản
SELECT
FROM
WHERE
–
• Tên các cột cần hiển thị ở kết quả truy vấn
–
• Tên các bảng (nguồn) dữ liệu khi truy vấn
–
• Xác định biểu thức boolean xác định dòng (bộ) nào được trích
ra
• Nối các biểu thức: AND, OR, NOT
• Phép toán: >,
- 3.2. lệnh SELECT (tt)
SQL và Đại số quan hệ
SELECT
x FROM
WHERE
L(C(R ))
SELECT L
FROM R
WHERE C
Chương 3 - Ngôn ngữ truy vấn SQL 8
- Ví dụ
Lấy tất cả các cột
SELECT * của quan hệ
FROM NHANVIEN
WHERE PHG=5
PHG=5(NHANVIEN)
Chương 3 - Ngôn ngữ truy vấn SQL 9
- Mệnh đề SELECT
Chương 3 - Ngôn ngữ truy vấn SQL 10
- Mệnh đề SELECT (tt)
Tên, Bí danh
SELECT MANV, HONV AS 'Họ', TENLOT AS ‘Tên lót’, TENNV AS 'Tên'
FROM NHANVIEN
WHERE PHG=5 AND PHAI=‘Nam’
MANV,HO,TEN LOT,TEN (
MaNV,HONV,TENLOT,TENNV PHG=5PHAI=‘Nam’(NHANVIEN)))
Chương 3 - Ngôn ngữ truy vấn SQL 11
- Mệnh đề SELECT (tt)
Mở rộng:
SELECT MANV, HONV +’ ‘+ TENLOT+’ ‘ TENNV AS ‘HO TEN’
FROM NHANVIEN
WHERE PHG=5 AND PHAI=‘Nam’
Chương 3 - Ngôn ngữ truy vấn SQL 12
- Mệnh đề SELECT (tt)
Mở rộng:
SELECT MANV, LUONG*1.1 AS ‘LUONG10%’
FROM NHANVIEN
WHERE PHG=5 AND PHAI=‘Nam’
Chương 3 - Ngôn ngữ truy vấn SQL 13
- Mệnh đề SELECT (tt)
Loại bỏ các dòng trùng nhau
SELECT LUONG
FROM NHANVIEN SELECT DISTINCT LUONG
WHERE PHG=5 AND PHAI=‘Nam’ FROM NHANVIEN
WHERE PHG=5 AND PHAI=‘Nam’
Chương 3 - Ngôn ngữ truy vấn SQL 14
- Ví dụ
Cho biết MANV và TENNV làm việc ở phòng ‘Nghien
cuu’
SELECT MANV, TENNV
FROM NHANVIEN, PHONGBAN
WHERE PHG=MAPHG AND TENPGH=‘Nghien cuu’
Chương 3 - Ngôn ngữ truy vấn SQL 15
- Mệnh đề WHERE
Biểu thức luận lý
SELECT MANV, TENNV
FROM NHANVIEN, PHONGBAN
WHERE PHG=MAPHG AND TENPHG=‘Nghien cuu’
TRUE TRUE
Chương 3 - Ngôn ngữ truy vấn SQL 16
- Mệnh đề WHERE (tt)
Độ ưu tiên
– Viết trước thực hiện trước
– Trong ngoặc thực hiện trước
SELECT MANV, TENNV
FROM NHANVIEN, PHONGBAN
WHERE (TENPHG=‘Nghien cuu’ OR TENPHG=‘Quan ly’) AND PHG=MAPHG
Chương 3 - Ngôn ngữ truy vấn SQL 17
- Mệnh đề WHERE (tt)
BETWEEN
SELECT MANV, TENNV
FROM NHANVIEN
WHERE LUONG>=2000000 AND LUONG
- Mệnh đề WHERE (tt)
IN NOT IN
SELECT MANV, TENNV SELECT MANV, TENNV
FROM NHANVIEN FROM NHANVIEN
WHERE PHG IN (4,5) WHERE PHG NOT IN (4,5)
SELECT MANV, TENNV
FROM NHANVIEN
WHERE PHG = 4 OR PHG=5
Chương 3 - Ngôn ngữ truy vấn SQL 19
- Mệnh đề WHERE (tt)
LIKE
– Lấy tất cả chuỗi giống với mẫu
SELECT MANV, TENNV
FROM NHANVIEN
WHERE HONV LIKE ‘Nguyen_ _ _ _’
1 Ký tự bất kỳ
SELECT MANV, TENNV
FROM NHANVIEN
WHERE HONV LIKE ‘Nguyen %’
Nhiều ký tự bất kỳ
NOT LIKE
– Lấy tất cả những chuỗi không giống
Chương 3 - Ngôn ngữ truy vấn SQL 20
nguon tai.lieu . vn