1. Trang chủ
  2. » Giáo án - Bài giảng

Tài liệu ôn thi cao học - thạc sĩ khoa học máy tính, hệ thống thông tin trường ĐH KHTN TP.HCM;p2

54 605 2

Đ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 54
Dung lượng 398,94 KB

Nội dung

Tài liệu ôn thi cao học - thạc sĩ khoa học máy tính, hệ thống thông tin trường ĐH KHTN TP.HCM;p2

Trang 1

SQL - Structured Query Language

„ Giới thiệu

„ Truy vấn dữ liệu

„ Cập nhật dữ liệu

Giới thiệu

„ Ngôn ngữ khai báo

{ Cài đặt dựa trên ĐSQH

„ Chuẩn hoá cho các HQTCSDL quan hệ

{ Được phát triển bởi IBM (1970s)

{ Các version Standard ANSI/ISO

Trang 2

3/6/2008 Ôn thi Cao học 2008 3

Giới thiệu (tt)

„ SQL hỗ trợ

{ Ngôn ngữ Định nghĩa dữ liệu (DDL)

„ Mức Quan niệm : CREATE SCHEMA, TABLE,

„ Mức ngoài : CREATE VIEW, GRANT,…

„ Mức trong : CREATE INDEX, CLUSTER,

{ Ngôn ngữ Thao tác dữ liệu (DML)

„ Truy vấn : SELECT

„ Cập nhật : INSERT, DELETE, UPDATE

{ Ngôn ngữ khai báo

„ Ràng buộc toàn vẹn

„ Phân quyền và bảo mật

„ Điều khiển giao tác

Đị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ệ

„ Gồm

{ CREATE TABLE (tạo bảng)

{ DROP TABLE (xóa bảng)

{ ALTER TABLE (sửa bảng)

{ CREATE DOMAIN (tạo miền giá trị)

{ CREATE DATABASE

Trang 3

3/6/2008 Ôn thi Cao học 2008 5

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 các phép toán đại số quan hệ + một số mở rộng

{ Bảng là bag ≠ quan hệ là set

„ Cho phép 1 bảng có nhiều dòng trùng nhau

„ 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

SELECT <danh sách các cột>

FROM <danh sách các bảng>

WHERE <điều kiện>

Trang 4

3/6/2008 Ôn thi Cao học 2008 7

Trang 5

3/6/2008 Ôn thi Cao học 2008 9

σPHG=5 (NHANVIEN)

TENNV

Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5

Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5

333445555

987987987

888665555 333445555

TENLOT Thanh Manh

SELECT MANV, HONV, TENLOT, TENNV

FROMNHANVIEN

WHEREPHG=5 ANDPHAI=‘Nam’

πMANV,HONV,TENLOT,TENNV( σPHG=5 ∧ PHAI=‘Nam’(NHANVIEN))

TENNV HONV

Tung Nguyen

Hung Nguyen

TENLOT Thanh Manh

333445555 987987987 MANV

Trang 6

3/6/2008 Ôn thi Cao học 2008 11

Mệnh đề SELECT (tt)

SELECT MANV, HONV ASHO, TENLOT AS‘TEN LOT’, TENNV ASTEN

FROMNHANVIEN

WHEREPHG=5 ANDPHAI=‘Nam’

ρMANV,HO,TEN LOT,TEN( πMANV,HONV,TENLOT,TENNV( σPHG=5∧PHAI=‘Nam’(NHANVIEN)))

TEN HO

Tung Nguyen

Hung Nguyen

TEN LOT Thanh Manh

333445555 987987987 MANV

Tên bí danh

Mệnh đề SELECT (tt)

SELECT MANV, HONV + ‘ ’+ TENLOT + ‘ ’+ TENNV AS‘HO TEN’

FROMNHANVIEN

WHEREPHG=5 ANDPHAI=‘Nam’

ρMANV,HO TEN( πMANV,HONV+TENLOT+TENNV( σPHG=5∧PHAI=‘Nam’(NHANVIEN)))

HO TEN Nguyen Thanh Tung Nguyen Manh Hung

333445555 987987987 MANV

Mở rộng

Trang 7

3/6/2008 Ôn thi Cao học 2008 13

Mệnh đề SELECT (tt)

SELECT MANV, LUONG*1.1 AS‘LUONG10%’

FROMNHANVIEN

WHEREPHG=5 ANDPHAI=‘Nam’

ρMANV,LUONG10%( πMANV,LUONG*1.1( σPHG=5∧PHAI=‘Nam’(NHANVIEN)))

LUONG10%

33000 27500

333445555 987987987 MANV

LUONG 30000 25000 38000

SELECT DISTINCT LUONG

FROMNHANVIEN

WHEREPHG=5 ANDPHAI=‘Nam’

Trang 8

3/6/2008 Ôn thi Cao học 2008 15

PHONGBAN(TENPHG, MAPHG ,TRPHG,NG_NHANCHUC)

R1 ← NHANVIEN PHG=MAPHGPHONGBAN

KQ ← πMANV, TENNV ( σTENPHG=‘Nghien cuu’(R1))

MANV, TENNV NHANVIEN, PHONGBANTENPHG=‘Nghien cuu’ AND PHG=MAPHG

SELECTMANV, TENNV

FROM NHANVIEN, PHONGBAN

WHERE TENPHG=‘Nghien cuu’ AND PHG=MAPHG

Biểu thức luận lý

Trang 9

3/6/2008 Ôn thi Cao học 2008 17

Trang 10

3/6/2008 Ôn thi Cao học 2008 19

Trang 11

3/6/2008 Ôn thi Cao học 2008 21

Trang 12

3/6/2008 Ôn thi Cao học 2008 23

Mệnh đề WHERE (tt)

NULL

{ Sử dụng trong trường hợp

„ Không biết (value unknown)

„ Không thể áp dụng (value inapplicable)

„ Không tồn tại (value withheld)

{ Những biểu thức tính toán có liên quan đến giá trị NULL sẽ cho ra kết quả là

NULL

„ x có giá trị là NULL

„ x + 3 cho ra kết quả là NULL

„ x + 3 là một biểu thức không hợp lệ trong SQL

{ Những biểu thức so sánh có liên quan đến giá trị NULL sẽ cho ra kết quả là

WHEREMA_NQL IS NULL

SELECTMANV, TENNV

FROM NHANVIEN

WHEREMA_NQL IS NOT NULL

Trang 13

3/6/2008 Ôn thi Cao học 2008 25

WHERETRUE

SELECT MANV, MAPHG

FROMNHANVIEN, PHONGBAN

Không sử dụng mệnh đề WHERE

MAPHG 1 4

333445555 333445555 MANV

5 1 987987987 987987987

333445555

4 5 987987987

Mệnh đề FROM (tt)

SELECT TENPHG, DIADIEM

FROMPHONGBAN, DDIEM_PHG

WHEREMAPHG=MAPHG

Tên bí danh

SELECT TENPHG, DIADIEM

FROMPHONGBAN ASPB, DDIEM_PHG ASDD

WHEREPB.MAPHG=DD.MAPHG

SELECT TENNV, NGSINH, TENTN, NGSINH

FROMNHANVIEN, THANNHAN

WHEREMANV=MA_NVIEN

SELECT TENNV, NV.NGSINH, TENTN, TN.NGSINH

FROMNHANVIEN NV, THANNHAN TN

WHEREMANV=MA_NVIEN

PHONGBAN(TENPHG, MAPHG ,TRPHG,NG_NHANCHUC) DIADIEM_PHG( MAPHG ,DIADIEM)

NHANVIEN(HONV,TENLOT,TENNV,MANV, NGSINH ,DCHI,PHAI,LUONG,MA_NQL,PHG)

THANNHAN(MA_NVIEN,TENTN,PHAI, NGSINH ,QUANHE)

Trang 14

3/6/2008 Ôn thi Cao học 2008 27

Ví dụ 1

„ Với những đề án ở ‘Ha Noi’, cho biết mã đề án, mã phòng ban chủ trì

đề án, họ tên trưởng phòng cùng với ngày sinh và địa chỉ của người ấy

R1 ← πMADA, PHONG ( σDDIEM_DA=‘Hanoi’(DEAN))

„ Với những đề án ở ‘Ha Noi’, cho biết mã đề án, mã phòng ban chủ trì

đề án, họ tên trưởng phòng cùng với ngày sinh và địa chỉ của người ấy

AND

Trang 15

3/6/2008 Ôn thi Cao học 2008 29

Ví dụ 2

„ Tìm họ tên của nhân viên phòng số 5 có tham gia vào đề án “Sản phẩm

X” với số giờ làm việc trên 10 giờ

(PC.SODA=DA.MADA)AND

(TENDA= “Sản phẩm X” )AND

Trang 16

3/6/2008 Ôn thi Cao học 2008 31

999887777 999887777 MA_NVIEN

10 30 987987987 987654321

987987987

10 20 987654321

30 987654321

Trang 17

3/6/2008 Ôn thi Cao học 2008 33

Phép toán tập hợp trong SQL (tt)

„ Cú pháp

SELECT <ds cột> FROM <ds bảng> WHERE <điều kiện>

UNION [ALL]

SELECT <ds cột> FROM <ds bảng> WHERE <điều kiện>

SELECT <ds cột> FROM <ds bảng> WHERE <điều kiện>

INTERSECT [ALL]

SELECT <ds cột> FROM <ds bảng> WHERE <điều kiện>

SELECT <ds cột> FROM <ds bảng> WHERE <điều kiện>

EXCEPT [ALL]

SELECT <ds cột> FROM <ds bảng> WHERE <điều kiện>

Ví dụ 5

„ Cho biết các mã đề án có

{ Nhân viên với họ là ‘Nguyen’ tham gia hoặc,

{ Trưởng phòng chủ trì đề án đó với họ là ‘Nguyen’

SELECT SODA

FROMNHANVIEN, PHANCONG

WHEREMANV=MA_NVIEN ANDHONV=‘Nguyen’

UNION

SELECT MADA

FROMNHANVIEN, PHONGBAN, DEAN

WHEREMANV=TRPHG ANDMAPHG=PHONG

ANDHONV=‘Nguyen’

Trang 18

3/6/2008 Ôn thi Cao học 2008 35

Ví dụ 6

„ Tìm nhân viên có người thân cùng tên và cùng giới tính

SELECT TENNV, PHAI, MANV FROMNHANVIEN

INTERSECT

SELECT TENTN, PHAI, MA_NVIEN FROMTHANNHAN

Ví dụ 7

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

SELECTMANV FROMNHANVIEN

EXCEPT

SELECTMA_NVIEN ASMANV FROMTHANNHAN

Trang 19

3/6/2008 Ôn thi Cao học 2008 37

Truy vấn lồng

SELECTMANV, TENNV

FROM NHANVIEN, PHONGBAN

WHERE TENPHG=‘Nghien cuu’AND PHG=MAPHG

SELECT MANV,TENNV FROM NHANVIEN WHERE PHG IN (

SELECT MAPHG FROM PHONGBAN WHERE TENPHG =‘Nghien cuu’)

Câu truy vấn cha

WHERE <điều kiện>)

Câu truy vấn cha

(Outer query)

Câu truy vấn con (Subquery)

Trang 20

3/6/2008 Ôn thi Cao học 2008 39

Truy vấn lồng (tt)

„ Các câu lệnh SELECT có thể lồng nhau ở nhiều mức

„ Các câu truy vấn con trong cùng một mệnh đề WHERE được kết

hợp bằng phép nối logic

„ Câu truy vấn con thường trả về một tập các giá trị

„ Mệnh đề WHERE của câu truy vấn cha

{ <biểu thức> <so sánh tập hợp> <truy vấn con>

{ So sánh tập hợp thường đi cùng với một số toán tử

„ IN, NOT IN

„ ALL

„ ANY hoặc SOME

{ Kiểm tra sự tồn tại

„ EXISTS

„ NOT EXISTS

Truy vấn lồng (tt)

„ 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

{ Khi thực hiện, câu truy vấn con sẽ được thực hiện trước

„ 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

{ Khi thực hiện, câu truy vấn con sẽ được thực hiện nhiều lần, mỗi lần tương

ứng với một bộ của truy vấn cha

Trang 21

3/6/2008 Ôn thi Cao học 2008 41

Ví dụ - Lồng phân cấp

SELECTMANV, TENNV

FROM NHANVIEN, DIADIEM_PHG

WHERE DIADIEM=‘TP HCM’AND PHG=MAPHG

SELECTMANV, TENNV

Ví dụ 5

SELECT SODA

FROMNHANVIEN NV, PHANCONG PC

WHERENV.MANV=PC.MA_NVIEN ANDNV.HONV=‘Nguyen’

UNION

SELECT MADA

FROMNHANVIEN NV, PHONGBAN PB, DEAN DA

WHERENV.MANV=PB.TRPHG ANDPB.MAPHG=DA.PHONG

ANDNV.HONV=‘Nguyen’

Trang 22

3/6/2008 Ôn thi Cao học 2008 43

FROMNHANVIEN, PHANCONG

WHEREMANV=MA_NVIEN ANDHONV=‘Nguyen’ )

ORMADA IN(

SELECT MADA

FROMNHANVIEN, PHONGBAN, DEAN

WHEREMANV=TRPHG ANDMAPHG=PHONG ANDHONV=‘Nguyen’ )

Trang 23

3/6/2008 Ôn thi Cao học 2008 45

FROMNHANVIEN NV1, NHANVIEN NV2

WHERENV1.LUONG > NV2.LUONG AND NV2.PHG=4

Trang 24

3/6/2008 Ôn thi Cao học 2008 47

Ví dụ 10

„ Tìm những trưởng phòng có tối thiểu một thân nhân

SELECT*

FROMNHANVIEN

WHEREMANV IN(SELECTMA_NVIEN FROMTHANNHAN)

ANDMANV IN(SELECTTRPHG FROMPHONGBAN)

Ví dụ - Lồng tương quan

SELECTMANV, TENNV

FROM NHANVIEN, PHONGBAN

WHERE TENPHG=‘Nghien cuu’AND PHG=MAPHG

SELECTMANV, TENNV

Trang 25

3/6/2008 Ôn thi Cao học 2008 49

„ Tìm nhân viên có người thân cùng tên và cùng giới tính

Trang 26

3/6/2008 Ôn thi Cao học 2008 51

„ Tìm những nhân viên có lương lớn hơn lương của ít nhất một

Trang 27

3/6/2008 Ôn thi Cao học 2008 53

Nhận xét IN và EXISTS

„ IN

{ <tên cột> IN <câu truy vấn con>

{ Thuộc tính ở mệnh đề SELECT của truy vấn con phải có cùng kiểu dữ liệu

với thuộc tính ở mệnh đề WHERE của truy vấn cha

{ Không cần có thuộc tính, hằng số hay biểu thức nào khác đứng trước

{ Không nhất thiết liệt kê tên thuộc tính ở mệnh đề SELECT của truy vấn con

{ Những câu truy vấn có = ANY hay IN đều có thể chuyển thành câu truy vấn

có EXISTS

Phép chia trong SQL

„ R÷S là tập các giá trị aitrong R sao cho không có giá trị binào

trong S làm cho bộ (ai, bi) không tồn tại trong R

3 1

1 1 1

1 1

Trang 28

3/6/2008 Ôn thi Cao học 2008 55

„ Tìm tên các nhân viên được phân công làm tất cả các đồ án

{ Tìm tên các nhân viên mà không có đề án nào là không được phân công làm

{ Tập bị chia: PHANCONG(MA_NVIEN, SODA)

{ Tập chia: DEAN(MADA)

{ Tập kết quả: KQ(MA_NVIEN)

{ Kết KQ với NHANVIEN để lấy ra TENNV

Trang 29

3/6/2008 Ôn thi Cao học 2008 57

Nội dung chi tiết

Trang 30

3/6/2008 Ôn thi Cao học 2008 59

Hàm kết hợp

{ COUNT(*) đếm số dòng

{ COUNT(<tên thuộc tính>) đếm số giá trị khác NULL của thuộc tính

{ COUNT(DISTINCT <tên thuộc tính>) đếm số giá trị khác nhau và khác

NULL của thuộc tính

„ Tìm tổng lương, lương cao nhất, lương thấp nhất và lương trung

bình của các nhân viên

SELECTSUM(LUONG), MAX(LUONG), MIN(LUONG), AVG(LUONG)

FROMNHANVIEN

Trang 31

3/6/2008 Ôn thi Cao học 2008 61

Ví dụ 13

„ Cho biết số lượng nhân viên của phòng ‘Nghien cuu’

SELECTCOUNT(*) ASSL_NV

FROMNHANVIEN, PHONGBAN

WHEREPHG=MAPHG ANDTENPHG=‘Nghien cuu’

Ví dụ 14

„ Cho biết số lượng nhân viên của từng phòng ban

SL_NV 5

4

3 3 PHG

TENNV

Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5

Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5

333445555

987987987

888665555 333445555

TENLOT Thanh Manh

Tam Tran 07/31/1972 543 MTL Q1 Nu 25000 5

Thanh Ngoc

Nhu

Quang Tran 04/08/1969 980 LHP Q5 Nam 25000 4

Vinh Pham 11/10/1945 450 TV HN Nam 55000 1

987987987

888665555

987654321 NULL Hong

Van

Trang 32

3/6/2008 Ôn thi Cao học 2008 63

„ Cú pháp

„ Sau khi gom nhóm

{ Mỗi nhóm các bộ sẽ có cùng giá trị tại các thuộc tính gom nhóm

SELECT <danh sách các cột>

FROM <danh sách các bảng>

WHERE <điều kiện>

GROUP BY <danh sách các cột gom nhóm>

SELECTTENPHG, COUNT(*) ASSL_NV

FROMNHANVIEN, PHONGBAN

WHEREPHG=MAPHG

GROUP BYTENPHG

Trang 33

3/6/2008 Ôn thi Cao học 2008 65

Ví dụ 15

„ Với mỗi nhân viên cho biết mã số, họ tên, số lượng đề án và tổng

thời gian mà họ tham gia

SODA THOIGIAN

1 32.5

2 7.5

123456789 123456789 MA_NVIEN

2 10.0

3 10.0

333445555 333445555

10 10.0 333445555

20 20.0

10 35.0

888665555 987987987

30 5.0 987987987

30 20.0 987654321

20 15.0 987654321

1 20.0 453453453

2 20.0 453453453

Ví dụ 15

„ Với mỗi nhân viên cho biết mã số, họ tên, số lượng đề án và tổng

thời gian mà họ tham gia

SELECTMA_NVIEN, COUNT(*) ASSL_DA,

SUM(THOIGIAN) ASTONG_TG

FROMPHANCONG

GROUP BYMA_NVIEN

SELECTHONV, TENNV, COUNT(*) ASSL_DA,

SUM(THOIGIAN) ASTONG_TG

FROMPHANCONG, NHANVIEN

WHEREMA_NVIEN=MANV

GROUP BYMA_NVIEN, HONV, TENNV

Trang 34

3/6/2008 Ôn thi Cao học 2008 67

2 10.0

3 10.0

333445555 333445555

10 10.0 333445555

20 20.0

10 35.0

888665555 987987987

30 5.0 987987987

30 20.0 987654321

20 15.0 987654321

1 20.0 453453453

2 20.0 453453453

WHERE <điều kiện>

GROUP BY <danh sách các cột gom nhóm>

HAVING <điều kiện trên nhóm>

Trang 35

3/6/2008 Ôn thi Cao học 2008 69

„ Cho biết những phòng ban (TENPHG) có lương trung bình của các

nhân viên lớn lơn 20000

SELECTPHG, AVG(LUONG) ASLUONG_TB

FROMNHANVIEN

GROUP BYPHG

HAVINGAVG(LUONG) > 20000

SELECTTENPHG, AVG(LUONG) ASLUONG_TB

FROMNHANVIEN, PHONGBAN

WHEREPHG=MAPHG

GROUP BYTENPHG

HAVINGAVG(LUONG) > 20000

Trang 36

3/6/2008 Ôn thi Cao học 2008 71

Nhận xét

„ Mệnh đề GROUP BY

{ Các thuộc tính trong mệnh đề SELECT (trừ những thuộc tính trong các hàm

kết hợp) phải xuất hiện trong mệnh đề GROUP BY

{ Sử dụng các hàm kết hợp trong mệnh đề SELECT để kiểm tra một số điều

kiện nào đó

{ Chỉ kiểm tra điều kiện trên nhóm, không là điều kiện lọc trên từng bộ

{ Sau khi gom nhóm điều kiện trên nhóm mới được thực hiện

Nhận xét (tt)

„ Thứ tự thực hiện câu truy vấn có mệnh đề GROUP BY và

HAVING

{ (1) Chọn ra những dòng thỏa điều kiện trong mệnh đề WHERE

{ (2) Những dòng này sẽ được gom thành nhiều nhóm tương ứng với mệnh đề

GROUP BY

{ (3) Áp dụng các hàm kết hợp cho mỗi nhóm

{ (4) Bỏ qua những nhóm không thỏa điều kiện trong mệnh đề HAVING

{ (5) Rút trích các giá trị của các cột và hàm kết hợp trong mệnh đề SELECT

Trang 37

3/6/2008 Ôn thi Cao học 2008 73

Ví dụ 18

„ Tìm những phòng ban có lương trung bình cao nhất

SELECTPHG, AVG(LUONG) ASLUONG_TB

FROMNHANVIEN

GROUP BYPHG

HAVINGMAX(AVG(LUONG))

Ví dụ 18

„ Tìm những phòng ban có lương trung bình cao nhất

SELECTPHG, AVG(LUONG) ASLUONG_TB

FROMNHANVIEN

GROUP BYPHG

HAVINGAVG(LUONG) >= ALL(

SELECTAVG(LUONG)

FROMNHANVIEN

GROUP BYPHG)

Trang 38

3/6/2008 Ôn thi Cao học 2008 75

„ Tìm tên các nhân viên được phân công làm tất cả các đồ án

SELECTMANV, TENVN

FROMNHANVIEN, PHANCONG

Trang 39

3/6/2008 Ôn thi Cao học 2008 77

Một số dạng truy vấn khác

„ Truy vấn con ở mệnh đề FROM

„ Điều kiện kết ở mệnh đề FROM

{ Phép kết tự nhiên

{ Phép kết ngoài

„ Cấu trúc CASE

Truy vấn con ở mệnh đề FROM

„ Kết quả trả về của một câu truy vấn phụ là một bảng

{ Bảng trung gian trong quá trình truy vấn

{ Không có lưu trữ thật sự

„ Cú pháp

SELECT <danh sách các cột>

FROM R1, R2, (<truy vấn con>) AS tên_bảng

WHERE <điều kiện>

Trang 40

3/6/2008 Ôn thi Cao học 2008 79

Ví dụ 18

„ Cho biết những phòng ban (TENPHG) có lương trung bình của các

nhân viên lớn lơn 20000

SELECTPHG, AVG(LUONG) ASLUONG_TB

FROMNHANVIEN

GROUP BYPHG

HAVINGAVG(LUONG) > 20000

SELECTPHG, TENPHG, AVG(LUONG) ASLUONG_TB

FROMNHANVIEN, PHONGBAN

WHEREPHG=MAPHG

GROUP BYPHG, TENPHG

HAVINGAVG(LUONG) > 20000

Ví dụ 18

„ Cho biết những phòng ban (TENPHG) có lương trung bình của các

nhân viên lớn lơn 20000

SELECTTENPHG, TEMP.LUONG_TB

FROMPHONGBAN, (SELECTPHG, AVG(LUONG) ASLUONG_TB

FROMNHANVIEN

GROUP BYPHG

HAVINGAVG(LUONG)> 20000 ) ASTEMP

WHEREMAPHG=TEMP.PHG

Trang 41

3/6/2008 Ôn thi Cao học 2008 81

Điều kiện kết ở mệnh đề FROM

„ Kết bằng

„ Kết ngoài

SELECT <danh sách các cột>

FROM R1 [INNER] JOIN R2 ON <biểu thức>

WHERE <điều kiện>

SELECT <danh sách các cột>

FROM R1 LEFT|RIGHT [OUTER] JOIN R2 ON <biểu thức>

WHERE <điều kiện>

Ví dụ 20

SELECTMANV, TENNV

FROM NHANVIEN, PHONGBAN

WHERE TENPHG=‘Nghien cuu’AND PHG=MAPHG

SELECTMANV, TENNV

FROM NHANVIEN INNERJOINPHONGBAN ONPHG=MAPHG

WHERE TENPHG=‘Nghien cuu’

„ Tìm mã và tên các nhân viên làm việc tại phòng ‘Nghien cuu’

Ngày đăng: 01/05/2014, 09:30

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w