You are on page 1of 4

Cu lnh JOIN

Ni kt v kho i khi chng ta phi ly d liu t hai bng cng mt lc, chng ta thc hin mt kt ni.

Cc bng trong CSDL c th quan h rng buc vi nhau thng qua cc kho. Mt kho chnh (primary key) l mt ct m trong mi gi tr ca hng phi l duy nht. Mc ch ca kho l kt ni d liu li vi nhau, t nhiu bng khc nhau m khng gy trng lp d liu gia cc bng. Trong bng Employees (nhn vin) v d di y c ct Employees_ID l kho chnh, bo m rng khng th c hai dng no c trng Employees_ID.Employees_ID dng phn bit hai nhn vin khi h trng tn. Trong v d di y: Employee_ID l kho chnh ca bng Employees. Prod_ID l kho chnh ca bng Orders. Ct Employeed_ID trong bng Orders c s dng kt ni vi bng Employees, ch n nhn vin trong bng Employees. Bng Employees: Employees_ID 01 02 03 04 Bng Orders: Name Hansen, Ola Svendson, Tove Svendson, Stephen Pettersen, Kari

Prod_ID 234 657 865 Kt ni hai bng vi nhau

Product Printer Table Chair

Employee_ID 01 03 03

Chng ta c th ly d liu t hai bng bng cch kt ni chng, tng t nh sau: V d: Tm xem ai t hng sn phm v h t mn hng g:

SELECT Employees.Name, Orders.Product FROM Employees, Orders WHERE Employees.Employee_ID = Orders.Employee_ID kt qu tr v: Name Hansen, Ola Svendson, Stephen Svendson, Stephen V d: Tm xem ai t hng my in: SELECT Employees.Name FROM Employees, Orders WHERE Employees.Employee_ID = Orders.Employee_ID AND Orders.Product = 'Printer' kt qu tr v: Name Hansen, Ola S dng JOIN Ta c th s dng t kho JOIN kt ni d liu t hai bng. V d: INNER JOIN C php: SELECT ct_1, ct_2, ct_3 FROM bng_1 INNER JOIN bng_2 ON bng_1.kho_chnh = bng_2.kho_ngoi Ai t hng v h t mn hng no: SELECT Employees.Name, Orders.Product FROM Employees INNER JOIN Orders ON Employees.Employee_ID = Orders.Employee_ID INNER JOIN tr v tt c cc dng c hai bng khi chng tng ng vi nhau. Nu c mt dng bng Employees khng ng vi dng no bng Orders, dng s khng c tnh. kt qu tr v: Name Hansen, Ola Svendson, Stephen Svendson, Stephen Product Printer Table Chair Product Printer Table Chair

V d: LEFT JOIN C php: SELECT ct_1, ct_2, ct_3 FROM bng_1 LEFT JOIN bng_2 ON bng_1.kho_chnh = bng_2.kho_ngoi Lit k tt c cc nhn vin v mn hng m h t (nu c): SELECT Employees.Name, Orders.Product FROM Employees LEFT JOIN Orders ON Employees.Employee_ID = Orders.Employee_ID LEFT JOIN tr v tt c cc dng ca bng th nht (Employees), ngay c khi cc dng khng ng vi dng no bng th hai (Orders). Nu c mt dng no bng Employees khng ng vi bt c dng no bng Orders th dng cng vn c tnh. kt qu tr v:

Name Hansen, Ola Svendson, Tove Svendson, Stephen Svendson, Stephen Pettersen, Kari V d: RIGHT JOIN C php:

Product Printer Table Chair

SELECT ct_1, ct_2, ct_3 FROM bng_1 RIGHT JOIN bng_2 ON bng_1.kho_chnh = bng_2.kho_ngoi Lit k tt c cc mt hng c t v tn ngi t hng (nu c): SELECT Employees.Name, Orders.Product FROM Employees RIGHT JOIN Orders ON Employees.Employee_ID = Orders.Employee_ID RIGHT JOIN tr v tt c cc dng bng th hai (Orders), ngay c khi cc dng khng ng vi dng no bng th nht (Employees). Nu c mt dng no bng Orders khng ng vi bt c dng no bng Employees th dng cng vn c tnh. kt qu tr v:

Name

Product

Hansen, Ola Svendson, Stephen Svendson, Stephen V d: Ai t hng my in:

Printer Table Chair

SELECT Employees.Name FROM Employees INNER JOIN Orders ON Employees.Employee_ID = Orders.Employee_ID WHERE Orders.Product = 'Printer' kt qu tr v: Name Hansen, Ola

You might also like