19
Viện Điện tử - Viễn thông Bộ môn Điện tử - Kỹ thuật máy tính Kỹ thuật phần mềm ứng dụng Chương 9: Ngôn ngữ SQL Phần 2: Câu truy vấn trên nhiều bảng

S19 Chuong9 SQL 2 TruyVanCoNhieuBang

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