You are on page 1of 47

Bài 05:

NGÔN NGỮ SQL


Tài liệu tham khảo

[1] Đỗ Phúc, Nguyễn Đăng Tỵ.


Giáo trình cơ sở dữ liệu.
Đại học Quốc gia Tp.HCM.
[2] Đồng Thị Bích Thủy.
Giáo trình cơ sở dữ liệu.
Đại học Quốc gia Tp.HCM.
[3] Lê Minh Triết.
Slide bài giảng CSDL
Đại học Sư Phạm TP.HCM
[4] Trần Sơn Hải
Slide bài giảng CSDL
Đại học Sư Phạm TP.HCM

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 2


Nội dung

1. Giới thiệu 4.2 Phép giao


4.3 Phép trừ
2. Đại số quan hệ
4.4 Phép tích Cartesian
3. Các phép toán quan hệ 4.5 Phép chia
3.1 Phép chọn 5. Các phép toán khác
3.2 Phép chiếu
5.1 Phép kết
3.3 Phép gán
5.2 Phép kết nội bộ (inner join)
3.4 Phép đổi tên
5.3 Phép kết ngoài
3.5 Kết hợp các phép toán
5.4 Hàm kết hợp và gom nhóm
4. Các phép toán tập hợp 5.5 Các phép toán cập nhật trên quan hệ
4.1 Phép hợp Bài tập
ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 3
1. Giới thiệu

Ngôn ngữ ĐSQH


• Cách thức truy vấn dữ liệu
• Khó khăn cho người sử dụng
SQL (Structured Query Language)
• Ngôn ngữ cấp cao
• Người sử dụng chỉ cần đưa ra nội dung cần truy vấn
• Được phát triển bởi IBM (1970s)
• Khởi nguồn của SQL là SEQUEL
• Được ANSI công nhận và phát triển thành chuẩn
• SQL-86
• SQL-92
• SQL-99

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 4


1. Giới thiệu

 Ngôn ngữ định nghĩa dữ liệu


• DDL - Data Definition Language
• Các lệnh dùng để định nghĩa CSDL: tạo lập (create), thay đổi (alter) và hủy bỏ
(drop) các đối tượng dữ liệu, thiết lập các ràng buộc.
 Ngôn ngữ thao tác dữ liệu
• DML - Data Manipulation Language
• Các lệnh dùng để bảo trì và truy vấn CSDL: thêm (insert), sửa (update), xóa
(delete) dữ liệu của bảng, truy vấn (select).
 Ngôn ngữ điều khiển dữ liệu
• DCL - Data Control Language
• Các lệnh dùng để điều khiển CSDL: quản trị các quyền (grant, revoke).

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 5


2. Ngôn ngữ định nghĩa dữ liệu

Là ngôn ngữ mô tả


• Lược đồ cho mỗi quan hệ
• Miền giá trị tương ứng của từng thuộc tính
• Ràng buộc toàn vẹn
• Chỉ mục trên mỗi quan hệ
Về cơ bản, ngôn ngữ định nghĩa dữ liệu bao gồm các lệnh:
• CREATE: định nghĩa và tạo mới đối tượng CSDL.
• ALTER: thay đổi định nghĩa của đối tượng CSDL.
• DROP: Xoá đối tượng CSDL đã có.

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 6


2.1 Kiểu dữ liệu

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 7


2.1 Kiểu dữ liệu

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 8


2.1 Kiểu dữ liệu

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 9


2.2 Lệnh tạo bảng

Để định nghĩa một bảng


• Tên bảng
• Các thuộc tính
• Tên thuộc tính
• Kiểu dữ liệu
• Các RBTV trên thuộc tính
Cú pháp
CREATE TABLE <Tên_bảng>
(
<Tên_cột> <Kiểu_dữ_liệu> [<RBTV>],
<Tên_cột> <Kiểu_dữ_liệu> [<RBTV>],

[<RBTV>]
)

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 10


2.2 Lệnh tạo bảng

Ví dụ: Tạo bảng lưu trữ thông tin nhân viên với các thuộc tính và quy định sau:
MANV: khóa chính
HONV: họ của nhân viên không được để trống
TENLOT: tên lót của nhân viên
TENNV: tên của nhân viên không được để trống
NGSINH: ngày tháng năm sinh của nhân viên
DCHI: địa chỉ của nhân viên
PHAI: phái Nam hoặc Nữ
LUONG: Lương của nhân viên mặc định là 10000
MA_NQL: mã người quản lý của nhân viên (khóa ngoại)
PHG: mã phòng của nhân viên (khóa ngoại)

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 11


2.2 Lệnh tạo bảng

CREATE TABLE NHANVIEN


(
MANV CHAR(9),
HONV NVARCHAR(10),
TENLOT NVARCHAR(20),
TENNV NVARCHAR(10),
NGSINH DATETIME,
DCHI NVARCHAR(50),
PHAI NCHAR(4) CHECK (PHAI IN (N'Nam', N'Nữ')),
LUONG INT DEFAULT (10000),
MA_NQL CHAR(9),
PHG INT
)

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 12


2.2 Lệnh tạo bảng

 Một số RBTV trong khi tạo bảng:


• NOT NULL: không được chứa giá trị null
• Khóa chính: không được chứa giá trị null và được xác định bởi PRIMARY KEY
<thuộc tính>
• Khóa ngoại: FOREIGN KEY <thuộc tính> REFERENCE <quan hệ> <thuộc
tính>
• Tính duy nhất: có thể chứa giá trị null và được xác định bởi UNIQUE <thuộc tính>
• CHECK <điều kiện>: điều kiện đơn giản, không chứa các câu truy vấn hay tham
chiếu tới các quan hệ khác
Đặt tên cho RBTV
CONSTRAINT <Ten_RBTV> <RBTV>

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 13


2.2 Lệnh tạo bảng

CREATE TABLE NHANVIEN


(
MANV CHAR(9) PRIMARY KEY,
HONV NVARCHAR(10) NOT NULL,
TENLOT NVARCHAR(20) NOT NULL,
TENNV NVARCHAR(10) NOT NULL,
NGSINH DATETIME,
DCHI NVARCHAR(50),
PHAI NCHAR(4) CHECK (PHAI IN (N'Nam', N'Nữ')),
LUONG INT DEFAULT (10000),
MA_NQL CHAR(9),
PHG INT
)

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 14


2.2 Lệnh tạo bảng
--Tạo bảng Phòng ban--
CREATE TABLE PHONGBAN
(
TENPB NVARCHAR(20) UNIQUE,
MAPHG INT NOT NULL,
TRPHG CHAR(9),
NG_NHANCHUC DATETIME DEFAULT (GETDATE())
)

--Tạo bảng phân công--


CREATE TABLE PHANCONG
(
MANV CHAR(9) FOREIGN KEY (MANV)
REFERENCES NHANVIEN(MANV),
MADA INT REFERENCES DEAN(MADA),
THOIGIAN DECIMAL(3,1),
PRIMARY KEY(MANV,MADA)
)
ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 15
2.2 Lệnh tạo bảng

CREATE TABLE NHANVIEN


(
MANV CHAR(9) CONSTRAINT NV_MANV_PK PRIMARY KEY,
HONV NVARCHAR(10) CONSTRAINT NV_HONV_NN NOT NULL,
TENLOT NVARCHAR(20) NOT NULL,
TENNV NVARCHAR(10) NOT NULL,
NGSINH DATETIME,
DCHI NVARCHAR(50),
PHAI NCHAR(4) CONSTRAINT NV_PHAI_CHK CHECK (PHAI IN (N'Nam',
N'Nữ')),
LUONG INT CONSTRAINT NV_LUONG_DF DEFAULT (10000),
MA_NQL CHAR(9),
PHG INT
)

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 16


2.2 Lệnh tạo bảng

CREATE TABLE PHANCONG


(
MANV CHAR(9),
MADA INT,
THOIGIAN DECIMAL(3,1),
CONSTRAINT PC_MANV_MADA_PK
PRIMARY KEY (MANV, MADA),
CONSTRAINT PC_MANV_FK FOREIGN KEY (MANV)
REFERENCES NHANVIEN(MANV),
CONSTRAINT PC_MADA_FK FOREIGN KEY (MADA)
REFERENCES DEAN(MADA)
)

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 17


2.2 Lệnh tạo bảng

VD: LượC đồ CSDL Quản lý bán hang bao gồm các quan hệ sau:

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 18


2.3 Thay đổi cấu trúc bảng

Thay đổi cấu trúc bảng


• Thêm cột
• Xóa cột
• Mở rộng cột

Thay đổi ràng buộc toàn vẹn (RBTV)


• Thêm RBTV
• Xóa RBTV

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 19


2.3.1 Thêm thuộc tính

ALTER TABLE <Tên_bảng> ADD


<Tên_cột> <Kiểu_dữ_liệu> [<RBTV>]

Ví dụ: Thêm cột NGHENGHIEP vào bảng NHANVIEN


ALTER TABLE NHANVIEN ADD NGHENGHIEP CHAR(20)

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 20


2.3.2 Xóa thuộc tính

ALTER TABLE <Tên_bảng> DROP COLUMN <Tên_cột>

Ví dụ: Xóa cột NGHENGHIEP vào bảng NHANVIEN


ALTER TABLE NHANVIEN DROP COLUMN NGHENGHIEP

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 21


2.3.3 Sửa kiểu dữ liệu của thuộc tính

ALTER TABLE <Tên_bảng> ALTER COLUMN


<Tên_cột> <Kiểu_dữ_liệu_mới>

Ví dụ: Đổi kiểu dữ liệu của NGHENGHIEP trong bảng


NHANVIEN
ALTER TABLE NHANVIEN ALTER COLUMN NGHENGHIEP CHAR(50)

Lưu ý: Không phải sửa bất kỳ kiểu dữ liệu nào cũng được.

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 22


2.3.4 Thêm ràng buộc toàn vẹn
ALTER TABLE <Tên_bảng> ADD
CONSTRAINT <Ten_RBTV> <RBTV>,
CONSTRAINT <Ten_RBTV> <RBTV>,

Ví dụ: Thêm các RBTV vào bảng PHONGBAN
ALTER TABLE PHONGBAN ADD
CONSTRAINT PB_MAPHG_PK PRIMARY KEY (MAPHG),
CONSTRAINT PB_TRPHG FOREIGN KEY (TRPHG) REFERENCES NHANVIEN(MANV),
CONSTRAINT PB_NGNHANCHUC_DF DEFAULT (GETDATE()) FOR (NG_NHANCHUC),
CONSTRAINT PB_TENPB_UNI UNIQUE (TENPB)

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 23


2.3.4 Xóa ràng buộc toàn vẹn
ALTER TABLE <Tên_bảng> DROP
CONSTRAINT <Ten_RBTV> <RBTV>,
CONSTRAINT <Ten_RBTV> <RBTV>,

Ví dụ: Xóa các RBTV vào bảng PHONGBAN
ALTER TABLE PHONGBAN DROP
CONSTRAINT PB_TENPB_UNI

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 24


2.4 Xóa bảng
Được dùng để xóa cấu trúc bảng DROP TABLE <Tên_bảng>
• Tất cả dữ liệu của bảng cũng bị xóa
Ví dụ: Xóa bảng DEAN
DROP TABLE DEAN
Lưu ý: khi muốn xóa một bảng phải xóa tất cả những khóa ngoại tham chiếu
tới bảng đó trước. NHANVIEN

HONV TENLOT TENNV MANV NGSINH DCHI PHAI LUONG MA_NQL PHG

PHONGBAN

TENPHG MAPHG TRPHG NG_NHANCHUC

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 25


3. Ngôn ngữ thao
tác dữ liệu
3.1 Thêm dữ liệu

Sử dụng để thêm 1 hay nhiều dòng vào bảng


INSERT INTO <tên bảng>(<danh sách các thuộc tính>)
VALUES (<danh sách các giá trị>)
Ví dụ:
INSERT INTO NHANVIEN(MANV,HONV, TENLOT, TENNV)
VALUES ('635635635',N'Lê', N'Văn', N'Tuyển’)
INSERT INTO NHANVIEN(MANV,HONV, TENLOT, TENNV, DCHI)
VALUES ('635635635',N'Lê', N'Văn', N'Tuyển’,NULL)
INSERT INTO NHANVIEN
VALUES (‘635635635’,‘Le’, ‘Van’, ‘Tuyen’, ’12/30/1952’, ’98 HV’, ‘Nam’, ‘37000’,
4)

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 27


3.1 Thêm dữ liệu

 Thứ tự các giá trị phải trùng với thứ tự các cột
 Có thể thêm giá trị NULL ở những thuộc tính không là khóa chính và
NOT NULL
 Câu lệnh INSERT sẽ gặp lỗi nếu vi phạm RBTV
• Khóa chính
• Tham chiếu
• NOT NULL - các thuộc tính có ràng buộc NOT NULL bắt buộc phải có giá trị

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 28


3.1 Thêm nhiều dòng dữ liệu vào bảng
Sử dụng để thêm 1 hay nhiều dòng vào bảng
INSERT INTO <tên bảng>(<danh sách các thuộc tính>)
<câu truy vấn con>
CREATE TABLE THONGKE_PB
(
TENPHG VARCHAR(20),
SL_NV INT,
LUONG_TC INT
)
INSERT INTO THONGKE_PB(TENPHG, SL_NV, LUONG_TC)
SELECT TENPB, COUNT(MANV), SUM(LUONG)
FROM NHANVIEN, PHONGBAN
WHERE PHG=MAPHG
GROUP BY TENPB
ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 29
3.2 Xóa dữ liệu trong bảng
Sử dụng để thêm 1 hay nhiều dòng vào bảng
DELETE<tên bảng>
WHERE<điều kiện>
Ví dụ:
DELETE FROM NHANVIEN

DELETE FROM NHANVIEN


WHERE HONV='Tran’

DELETE FROM NHANVIEN


WHERE MANV='345345345'

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 30


3.2 Xóa dữ liệu trong bảng
Ví dụ: Xóa các nhân viên thuộc phòng nghiên cứu
DELETE FROM NHANVIEN
WHERE PHG IN (
SELECT MAPHG
FROM PHONGBAN
WHERE TENPB='Nghien cuu')

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 31


3.2 Xóa dữ liệu trong bảng
Số lượng số dòng bị xóa phụ thuộc vào điều kiện ở mệnh đề WHERE
Nếu không chỉ định điều kiện ở mệnh đề WHERE, tất cả các dòng trong bảng sẽ bị xóa
Lệnh DELETE có thể gây ra vi phạm RB tham chiếu
• Không cho xóa
• Xóa luôn những dòng có giá trị đang tham chiếu đến
• CASCADE
• Đặt NULL cho những giá trị tham chiếu

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 32


3.3 Sửa dữ liệu trong bảng
UPDATE <tên bảng>
SET <tên thuộc tính>=<giá trị mới>,
<tên thuộc tính>=<giá trị mới>,

[WHERE <điều kiện>]

Ví dụ:
UPDATE NHANVIEN
SET NGSINH='08/12/1965'
WHERE MANV='333445555’

UPDATE NHANVIEN
SET LUONG=LUONG*1.1

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 33


3.3 Sửa dữ liệu trong bảng
Những dòng thỏa điều kiện tại mệnh đề WHERE sẽ được cập nhật giá trị mới

Nếu không chỉ định điều kiện ở mệnh đề WHERE, tất cả các dòng trong bảng sẽ bị
cập nhật

Lệnh UPDATE có thể gây ra vi phạm RB tham chiếu


• Không cho sửa
• Sửa luôn những dòng có giá trị đang tham chiếu đến
• CASCADE

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 34


4. Ngôn ngữ truy
vấn dữ liệu có cấu
trúc
Truy vấn dữ liệu

Là ngôn ngữ rút trích dữ liệu thỏa một số điều kiện nào đó
Dựa trên: Phép toán ĐSQH và một số bổ sung

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 36


Câu truy vấn tổng quát
SELECT <danh sách các cột>
FROM <danh sách các bảng>
[WHERE <điều_kiện>]
[GROUP BY <tên_cột>]
[HAVING <điều_kiện>]
[ORDER BY <tên_cột> ASC | DESC]

Trong đó:
<danh sách các cột> : Tên các cột cần được hiển thị trong kết quả truy vấn
<danh sách các bảng>: Tên các bảng liên quan đến câu truy vấn
<điều kiện>
• Biểu thức boolean xác định dòng nào sẽ được rút trích
• Nối các biểu thức: AND, OR, và NOT
• Phép toán:  ,  ,  ,  , (<>) , , LIKE và BETWEEN
ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 37
Truy vấn cơ bản
Select: tương đương phép chiếu trong ĐSQH( ), dùng liệt kê
các thuộc tính cần hiển thị trong kết quả.
From: liệt kê các quan hệ cần thiết, các phép kết
Where: tương đương với phép chọn trong ĐSQH( ), Điều kiện
liên quan tới thuộc tính, sử dụng các phép nối luận lý AND, OR,
NOT, các phép toán so sánh, BETWEEN

SELECT L

L ( C(R)) FROM R
WHERE C
ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 38
Truy vấn cơ bản
MANV HONV TENLOT TENNV NGSINH DCHI GTINH LUONG PHG
132458 Nguyen Thanh Tung 12/8/1989 123 NVC Q5 Nam 15000 DH
123678 Tran Ngoc Lan 23/4/1987 242 NTMK Q3 Nu 17000 QL
345653 Pham Tri Hung 12/2/1990 333 PNL Q1 Nam 18000 DH
435635 Nguyen Minh Trang 25/7/1991 Dong Nai Nu 16500 NC
223524 Le Nhu Ngoc 30/5/1988 BRVT Nu 20000 NC
Lấy tất cả các cột của quan hệ NHANVIEN của phòng DH
PHG=‘DH’ (NHANVIEN)
SELECT *
FROM NHANVIEN
WHERE PHG='DH'
MANV HONV TENLOT TENNV NGSINH DCHI GTINH LUONG PHG
132458 Nguyen Thanh Tung 12/8/1989 123 NVC Q5 Nam 15000 DH
345653 Pham Tri Hung 12/2/1990 333 PNL Q1 Nam 18000 DH
ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 39
Truy vấn cơ bản
Cho biết Họ, Tên, Địa, Ngày sinh, Địa chỉ của các nhân viên nam trong công ty
MANV HONV TENLOT TENNV NGSINH DCHI GTINH LUONG PHG
132458 Nguyen Thanh Tung 12/8/1989 123 NVC Q5 Nam 15000 DH
123678 Tran Ngoc Lan 23/4/1987 242 NTMK Q3 Nu 17000 QL
345653 Pham Tri Hung 12/2/1990 333 PNL Q1 Nam 18000 DH
435635 Nguyen Minh Trang 25/7/1991 Dong Nai Nu 16500 NC
223524 Le Nhu Ngoc 30/5/1988 BRVT Nu 20000 NC

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 40


Truy vấn cơ bản
Cho biết Họ, Tên, Địa, Ngày sinh, Địa chỉ của các nhân viên nam trong công ty

HONV,TENNV,NGSINH,DCHIGTINH=‘Nam’(NHANVIEN)
SELECT HONV, TENNV,NGSINH,DCHI
FROM NHANVIEN
WHERE GTINH=‘Nam'

HONV TENNV NGSINH DCHI


Nguyen Tung 12/8/1989 123 NVC Q5
Pham Hung 12/2/1990 333 PNL Q1

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 41


Truy vấn cơ bản
Cho biết Mã NV, Họ, Tên, Địa chỉ, Ngày sinh của các nhân viên nữ thuộc phòng Nghiên
cứu trong công ty

MANV HONV TENLOT TENNV NGSINH DCHI GTINH LUONG PHG


132458 Nguyen Thanh Tung 12/8/1989 123 NVC Q5 Nam 15000 DH
123678 Tran Ngoc Lan 23/4/1987 242 NTMK Q3 Nu 17000 QL
345653 Pham Tri Hung 12/2/1990 333 PNL Q1 Nam 18000 DH
435635 Nguyen Minh Trang 25/7/1991 Dong Nai Nu 16500 NC
223524 Le Nhu Ngoc 30/5/1988 BRVT Nu 20000 NC

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 42


Truy vấn cơ bản
Cho biết Mã NV Họ, Tên, Địa, Ngày sinh, Địa chỉ của các nhân viên nữ trong công ty

MANV,HỌ,TÊN LÓT,TÊN( MANV,HONV,TENNV (GTINH=‘Nu’ Λ PHG=‘NC’(NHANVIEN)))

SELECT MANV, HONV AS [HỌ], TENNV AS [TÊN]


FROM NHANVIEN
WHERE PHAI=‘Nu' AND PHG= =‘NC’

MaNV HỌ TÊN
435635 Nguyen Trang
223524 Le Ngoc

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 43


Truy vấn cơ bản

SELECT MANV, LUONG*1.1 AS [LUONG10%]


FROM NHANVIEN
WHERE PHG=‘NC' AND PHAI='Nam'
MaNV LUONG 10%
132458 16500
345653 19800

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 44


Truy vấn cơ bản

Loại bỏ các gái trị trùng nhau


MaNV LUONG
SELECT DISTINCT LUONG
132458 15000
FROM NHANVIEN
345653 18000
WHERE PHG='DH' AND PHAI=N'Nam'

MANV HONV TENLOT TENNV NGSINH DCHI GTINH LUONG PHG


132458 Nguyen Thanh Tung 12/8/1989 123 NVC Q5 Nam 15000 DH
123678 Tran Ngoc Lan 23/4/1987 242 NTMK Q3 Nu 17000 QL
345653 Pham Tri Hung 12/2/1990 333 PNL Q1 Nam 18000 DH
435635 Nguyen Minh Trang 25/7/1991 Dong Nai Nu 16500 NC
223524 Le Nhu Ngoc 30/5/1988 BRVT Nu 20000 NC
232332 Tran Thanh Minh 3/4/1993 222 NTT q4 Nam 15000 DH
ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 45
Truy vấn cơ bản

Sử dụng các phép toán AND, OR


VD: Cho biết MaNV và Tên nhân viên làm ở phòng Nghiên cứu
R1  NHANVIEN PHG=MAPHG PHONGBAN

KQ  MANV, TENNV (TENPB=‘Nghiên cứu’(R1))

SELECT MANV, TENNV


FROM NHANVIEN, PHONGBAN TRUE

Biểu thức WHERE TENPB=N'Nghiên cứu’ AND


luận lý AND PHG=MAPHG TRUE

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 46


Truy vấn cơ bản

SELECT MANV, TENNV


FROM NHANVIEN, PHONGBAN
WHERE (TENPB=N'Nghiên cứu' OR TENPB=N'Quản lý') AND PHG=MAPHG

Độ ưu tiên mặc định của các phép toán: từ trái qua phải.
Nên sử dụng dấu ngoặc thể hiện tường minh sự ưu tiên của các phép toán.

ThS Ma Ngân Giang - giangmn@hcmup.edu.vn 47

You might also like