Independent


city  has a related  country



Download 0,51 Mb.
Pdf ko'rish
bet3/5
Sana13.01.2022
Hajmi0,51 Mb.
#355265
1   2   3   4   5
Bog'liq
Combine multiple tables, work with “Joins” №2

city

 has a related 



country

, not all countries have 

related cities (Spain & Russia don’t have them) 

 



Same stands for the customers. Each 

customer

 has 


the 

city_id

 value defined, but only 3 cities are being used (Berlin, Zagreb & 

New York) 



Let’s first write down the query using INNER JOIN: 



SELECT country.country_name_eng, city.city_name, 



customer.customer_name 

FROM country 

INNER JOIN city ON city.country_id = country.id 

INNER JOIN customer ON customer.city_id = city.id; 

The query result is shown in the picture below: 

 

We have 7 counties and 6 cities in our database, but our query returns only 4 



rows. That is the result of the fact we have only 4 customers in our database. Each 

of these 4 is related to its city and the city is related to the country. So, INNER 

JOIN eliminated all these countries and cities without customers. But how to 

include these in the result too? 

To do that, we’ll use LEFT JOIN. We’ll simply replace all “INNER” with 

“LEFT” so our query is as follows: 





SELECT country.country_name_eng, city.city_name, 

customer.customer_name 

FROM country 

LEFT JOIN city ON city.country_id = country.id 

LEFT JOIN customer ON customer.city_id = city.id; 

The result is shown in the picture below: 

 

You can easily notice that now we have all the countries, even those without 



any related city (Russia & Spain), as well all cities, even those without customers 


(Warsaw, Belgrade & Los Angeles). The remaining 4 rows are the same as in the 

query using INNER JOIN. 

LEFT JOIN – Tables order matters 

While the order of JOINs in INNER JOIN isn’t important, the same doesn’t 

stand for the LEFT JOIN. When we use LEFT JOIN in order to join multiple 

tables, it’s important to remember that this join will include all rows from the table 

on the LEFT side of the JOIN. Let’s rearrange the previous query: 



SELECT country.country_name_eng, city.city_name, 



customer.customer_name 

FROM customer 

LEFT JOIN city  ONcustomer.city_id = city.id 

LEFT  JOINcountry ON city.country_id = country.id; 

At first, you could easily say, that this query and the previous one are the 

same (this is true when using INNER JOIN). We’ve used the same tables, LEFT 

JOINs, and the same join conditions. Let’s take a look at the output first: 

 

So, what happened here? Why do we have 4 rows (same 4 we had when 



we’ve used INNER JOIN)? 

The answer is simple and it’s related to how LEFT JOIN works. It takes the 

first table (


Download 0,51 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish