Upload
phamchinhut
View
215
Download
3
Embed Size (px)
DESCRIPTION
S19 Chuong9
Citation preview
Lnh SELECTLnh SELECT l mt lnh a nng truy vn d liu trong CSDL. N cho php thc hin tt c cc thao tc c bn trong i s quan h nh:
Chiu (Projection)Chn (Selection)Ni (Joining)Cc php ton tp hp (Hp, giao, tr)
Php ni (join)
Php ni (join)Phn loi:Tch cc: cross joinNi bng: equi-joinNi t nhin: natural joinNi khng bng: theta-join Ni trong: inner joinNi ngoi: outer join
Tch ccBng PCBng ProductTnh PC x Product
SELECT *FROM PC, Product
Tch cc: PC x Product
Trnh trng tn bng v thuc tnh - t b danhBng PCTm cc cp PC c cng bng nhau:
SELECT p1.model [model 1], p2.model [model 2]FROM PC p1, PC p2WHERE (p1.model < P2.model ) AND (p1.hdd = P2.hdd)
Ni bngLit k chi tit thng tin v cc sn phm ca cc nh sn xut
Product PC Product.model = PC.model
Bng PCBng Product
Ni bngProduct PC Product.model = PC.model
SELECT *FROM PC, ProductWHERE PC.model = Product.model SELECT *FROM PC JOIN Product ON PC.model = Product.model Cch 1: dng logic chnCch 2: dng lnh JOIN
Kt quSELECT *FROM PC, ProductWHERE PC.model = Product.model SELECT *FROM PC JOIN Product ON PC.model = Product.model
S dng b danh trong lnh JOINSELECT Pr.maker, PC.model, speed, hdd, screen, priceFROM PC JOIN Product Pr ON PC.model = Pr.model
Ni khng bngTrong t/h ni khng bng, th tng t nh t/h ni bng, ta cng c th s dng 1 trong 2 cch: S dng iu kin ni trong mnh WHERE,Hoc s dng lnh JOIN vi iu kin ni (ON) khng bng
Ni trong v ni ngoiNi trong (INNER JOIN): kt qu ch ghp cc b khp nhau (matching tuples) trong 2 bng thnh phn (php JOIN trn mc nh chnh l INNER JOIN)Ni ngoi (OUTER JOIN): Kt qu cha 2 thnh phn:Thnh phn 1 nh INNER JOINThnh phn 2 cha c cc b khng khp nhau trong 2 bng thnh phn
Ni ngoi
Phn loi:Left Outer Join: cha cc b khng khp ca bng bn tri ARight Outer Join: cha cc b khng khp ca bng bn phi BFull Outer Join: cha cc b khng khp ca c hai bng A v BSELECT *FROM A OUTER JOIN B ON A.X = B.Y;
V dCc b khng khp
Left Outer JoinSELECT *FROM Class LEFT OUTER JOIN StudentON Class.Class_ID = Student.Class_ID;
RIGHT OUTER JOINSELECT *FROM Class RIGHT OUTER JOIN StudentON Class.Class_ID = Student.Class_ID;
FULL OUTER JOINSELECT *FROM Class FULL OUTER JOIN StudentON Class.Class_ID = Student.Class_ID;
Tm ttCc php niNi trongNi ngoiNi bngNi khng bngTch Cc