Tài liệu Giáo án dạy CNTT- P3 - Pdf 85

Ngän ngỉỵ SQL

Chỉång 3:
CẠC NGÄN NGỈỴ THAO TẠC DỈỴ LIÃÛU 3.1 Ngän ngỉỵ truy váún dỉỵ liãûu SQL
Trong mủc ny trçnh by ngän ngỉỵ dỉỵ liãûu (Structered Query Language), SQL l ngän
ngỉỵ con dỉỵ liãûu âỉc xạc nháûn l ráút mảnh , phäø dủng v lải dãù sỉí dủng . SQL l ngän ngỉỵ
phi th tủc, chøn mỉûc v âiãøn hçnh. Do váûy hiãûn nay ráút nhiãưu sn pháøm pháưn mãưm âãưu
âỉåüc ci âàût SQL nhỉ : Oracle, DB2,...
Trong pháưn ny s trçnh by cạc kh nàng ca ngän ngỉỵ SQL. Phẹp toạn cå bn
trong SQL l phẹp ạnh xả âỉåüc miãu t bàòng khäúi lãûnh SELECT - FROM - WHERE. Cạc
mãûnh âãư ca ngän ngỉỵ SQL s âỉåüc trçnh by chi tiãút bàòng vê dủ.
Cạc thût ngỉỵ trong Cå Såí Dỉỵ Liãûu quan hãû nhỉ quan hãû , thüc tênh , bäü,.... âỉåüc
thay thãú bàòng cạc thût ngỉỵ nhỉ : Bng( Table), cäüt(colum), bn ghi(Record) hồûc
hng(Row) trong SQL.
Chụng ta s xem cạc chỉïc nàng cå bn ca mäüt hãû qun trë Cå Såí Dỉỵ Liãûu nhỉ
cung cáúp ngän ngỉỵ âënh nghéa dỉỵ liãûu (DDM), Ngän ngỉỵ thao tạc dỉỵ liãûu(DML) , tçm kiãúm
v bo vãû dỉỵ liãûu âỉåüc thãø hiãûn trong ngän ngỉỵ SQL nhỉ thãú no.
1. Âënh nghéa dỉỵ liãûu
Trong SQL cho phẹp ngỉåìi sỉí dủng tảo cạc dỉỵ liãûu nhỉ Bng(table), Khung nhçn(View),
v cạc táûp chè säú(Index)
* Lãûnh tảo bng
Cụ phạp: CREAT TABLE Ten_Bang(Atr1 Type [NOT NULL], Atr2 Type [NOT
NULL],...)
Trong âọ Ten_Bang: tãn ca table tảo ra; tãn bng l xáu k tỉû báút k khäng cọ k hiãûu
träúng v khäng trng våïi tỉì khọa
Atr1, Atr2 : Tãn cạc thüc tênh (Cạc cäüt ca bng)
Type: Kiãøu dỉỵ liãûu cho thüc tênh. Mäüt säú loải dỉỵ liãûu thỉåìng dng nhỉ:
integer

(P# INTEGER NOT NULL, PNAME VARCHAR(10) NOT NULL, WEIGHT INTEGER
NOT NULL, COLOR VARCHAR(10) NOT NULL, CITY VARCHAR(30) NOTNULL)
- Tảo bng SP:
CREATE TABLE SP
(S# INTEGER NOT NULL, P# INTEGER NOT NULL, QTY INTEGER,SDATE DATE
NOT NULL, PRICE DECIMAL(8,2)).
Vo dỉỵ liãûu :

Cọ ba cạch âãø vo dỉỵ liãûu cho bng nhỉ sau
INSERT INTO S(S#,SNAME,AGES,CITY)
VALUE(1,’Thanh Huong’, 30,’ TP Ho Chi Minh’)
Nãúu vë trê ca cạc cäüt trong bng cäú âënh, ta cọ thãø viãút
INSERT INTO S
VALUE(1,’Thanh Huong’, 30,’ TP Ho Chi Minh’)
Ngỉåìi vo dỉỵ liãûu cọ thãø qn vë trê cạc cäüt, khi âọ ta cọ thãø biãøu diãùn nhỉ sau:
INSERT INTO S(S#,AGES,CITY, SNAME)
VALUE(1, 30, ’ TP Ho Chi Minh’, ’Thanh Huong’)
2. Tçm Kiãúm dỉỵ liãûu Trong SQL
Âáy l chỉïc nàng cå bn nháút ca SQL, cho phẹp ngỉåìi sỉí dủng tçm kiãúm cạc thäng tin
trãn Cå Såí Dỉỵ Liãûu våïi Cáu lãûnh SELECT.....FROM....WHERE
Cụ phạp:
SELECT [*| DISTINCT] Danh sạch cạc cäüt âỉa ra
FROM Tãn_Bng/Tãn_View
[WHERE biãøu thỉïc âiãưu kiãûn]
[GROUP BY Danh sạch cạc cäüt]
[HAVING biãøu thỉïc âiãưu kiãûn]
[ORDER BY Tãn_cäüt [ASC/DESC]
Gii thêch cạc tham säú bàòng cạc vê dủ
Ngän ngỉỵ SQL


FROM SP
WHERE ‘94-04-24’ - SDATE =10
Tçm kiãúm sỉí dủng IN v BETWEEN
Tçm nhỉỵng màût hng â cung cáúp cọ giạ tỉì 1000 âãún 2000
SELECT P#
FROM SP
WHERE PRICE BETWEEN 1000 AND 2000
Tçm m säú nhỉỵng nh cung cáúp â cung cáúp êt nháút mäüt trong cạc màût hng P1,P2,P3
Ngọn ngổợ SQL

SELECT S#
FROM SP
WHERE P# IN (P1,P2,P3)

CAẽC HAèM THặ VIN
Cuợng giọỳng nhổ caùc ngọn ngổợ Cồ Sồớ Dổợ Lióỷu khaùc, Trong SQL coù caùc haỡm mỏựu gọửm
COUNT, MAX, MIN, SUM, AVG. Rióng haỡm COUNT khi coù õọỳi sọỳ laỡ * coù nghộa laỡ
õóỳm sọỳ baớng ghi thoớa maợn yóu cỏửu tỗm kióỳm maỡ khọng quan tỏm õóỳn bỏỳt kyỡ cọỹt naỡo.
Vờ du
Cho bióỳt sọỳ lỏửn mỷt haỡng P2 õaợ õổồỹc cung cỏỳp
SELECT COUNT(*)
FROM SP
WHERE P#=P2
Tỗm hióỷu sọỳ mỷt haỡng P1 baùn mọỹt lỏửn nhióửu nhỏỳt vaỡ mọỹt lỏửn ờt nhỏỳt cuớa haợng S1
SELECT MAX(QTY) - MIN(QTY)
FROM SP
WHERE S#=S1 AND P#=P1
Tỗm kióỳm nhồỡ móỷnh õóử GROUPE BY
Tỗm maợ sọỳ nhổợng mỷt haỡng maỡ mọựi nhaỡ cung cỏỳp õaợ cung cỏỳp cho khaùch haỡng.
SELECT S#,P#


trong vê dủ trãn ta cọ thãø viãút
SELECT PNAME,P#
FROM P
WHERE COLOUR = ‘RED’
ORDER BY 2 ASC

Tçm kiãúm våïi cáu hi phỉïc tảp
Trong pháưn ny s trçnh by viãûc tçm kiãúm dỉỵ liãûu trãn nhiãưu bng thäng qua phẹp kãút näúi
hồûc viãûc sỉí dủng cạc ạnh xả läưng.
Kh nàng kãút näúi dỉỵ liãûu
Trong phẹp kãút näúi, cạc cäüt tham gia kãút näúi phi cọ miãưn trë l so sạnh âỉåüc våïi nhau. Tãn
cäüt ca cạc bng khạc nhau cọ thãø viãút tỉåìng minh qua tãn bng.
Vê Dủ:
Våïi mäùi màût hng âỉåüc cung cáúp , hy cho biãút m säú ca màût hng v âëa chè ca hng
â cung cáúp màût hng âọ.
SELECT DISTINCT P#, CITY
FROM SP, S
WHERE SP.S# =S.S#
nh xả läưng
Ta cọ thãø sỉí dủng nhỉỵng mãûnh âãư SELECT läưng nhau
Vê dủ:
Tçm tãn nhỉỵng hng â cung cáúp màût hng P2
SELECT SNAME
FROM S
WHERE S# IN( SELECT S#
FROM SP
WHERE P#=’P2’)


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status