You are on page 1of 3

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 Name
01 Hansen, Ola
02 Svendson, Tove
03 Svendson, Stephen
04 Pettersen, Kari
Bng Orders:
Prod_ID Product Employee_ID
234 Printer 01
657 Table 03
865 Chair 03
Kt ni hai bng vi nhau
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 Product
Hansen, Ola Printer
Svendson, Stephen Table
Svendson, Stephen Chair

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 Product
Hansen, Ola Printer
Svendson, Stephen Table
Svendson, Stephen 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 Product
Hansen, Ola Printer
Svendson, Tove
Svendson, Stephen Table
Svendson, Stephen Chair
Pettersen, Kari
V d: RIGHT JOIN
C php:
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 Printer
Svendson, Stephen Table
Svendson, Stephen Chair
V d: Ai t hng my in:
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