Kompüter, Proqramlaşdırma
Nümunə, ətraflı təsviri, səhv istifadə - Sol (SQL) qoşulmaq
heç bir real relational verilənlər bazası, bütün məlumatlar ayrı-ayrı masa bölüşdürülür. masalar çox bir-biri ilə ünsiyyət sxem müəyyən edilir. köməyi ilə Lakin, SQL queries deyil dövrə əlaqədar məlumatlar arasında bir keçid qoymaq mümkündür. Bu masalar hər hansı bir sayı arasında əlaqələr qurmaq və hətta zahirən disparate məlumat qoşulmaq üçün imkan verir ki, qoşulmaq bağlantısı həyata edilir.
Sol xarici qoşulmaq əlaqədar bu məqalə xüsusi danışacağıq. əlaqədar bu cür təsviri davam əvvəl, bir verilənlər bazası masa əlavə edin.
zəruri masalar hazırlanması
Məsələn, bizim məlumat bazasında, insanların və onların daşınmaz əmlak barədə məlumatlar var. Peoples (nəfər), Realty (daşınmaz əmlak), Realty_peoples (masa əlaqələr, insanlar nə əmlak aiddir): Xülasə üç masalar əsaslanır. insanların cədvəllərdə saxlanılır aşağıdakı məlumatlar daşımır:
Peoples | ||||
id | L_name | F_name | Middle_name | Birthday |
1 | Ivanova | Daria | B. | 07/16/2000 |
2 | Pugin | Vladislav | Nikolayeviç | 29.01.1986 |
3 | Evgenin | Alexander | Federovich | 04/30/1964 |
4 | Annina | sevgi | P. | 31.12.1989 |
5 | Gerasimovsky | ümid | P. | 14.03.1992 |
6 | Gerasimovsky | oleg | Albertoviç | 01/29/1985 |
7 | Sukhanovskaya | jüri | A. | 09/25/1976 |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 |
Daşınmaz əmlak:
Realty | |
id | ünvan |
1 | Arxangelsk, ul. Voronin, d. 7, kv.6 |
2 | Arxangelsk, ul. Severodvinskaya, d. 84, q. 9 BR. 5 |
3 | Arxangelsk region, Severodvinsk, st. Lenin, d. 134, q. 85 |
4 | Arxangelsk region, Novodvinsk, ul. Proletarshaya, d. 16, q. 137 |
5 | Arxangelsk, pl. Terekhina, d. 89, q. 13 |
Relations nəfər - əmlak:
Realty_peoples | ||
id_peoples | id_realty | növü |
7 | 3 | Ümumi birgə mülkiyyət |
8 | 3 | Ümumi birgə mülkiyyət |
3 | 5 | əmlak |
7 | 1 | əmlak |
5 | 4 | Common hissələri |
6 | 4 | Common hissələri |
qoşulmaq (Sql) Sol - Təsvir
Sol mürəkkəb aşağıdakı sintaksis var:
| Table_A SOL table_B [{ON xəbər} OL ] {Tolbtsov ilə spisok_ istifadə} |
Və belə sxematik olaraq:
Bu ifadə "Cədvəl A və Cədvəl B line xəbər yalnız uyğun satır keçirmək üçün, istisnasız, Bütün seçin kimi tərcümə olunur. masa cüt A string masa tapıldı, onda Null nəticəsində sütun doldurmaq - dəyərlər ".
sol bağlantısı ON göstərilən zaman keçid etmək planlaşdırılır sütun adları, eyni zaman ən tez-tez, yalnız istifadə olunur istifadə edərək.
Sol qoşulmaq - Istifadə nümunələri
sol əlaqədar biz siyahıdan bütün insanların Peoples əmlak var əgər görə bilərsiniz. sol Bunu etmək üçün sql sorğu nümunə qoşulmaq
SELECT Peoples. * Realty_peoples.id_realty, Realty_peoples.type Peoples SOL OL FROM Realty_peoples ON Peoples.id = Realty_peoples.id_peoples; |
aşağıdakı nəticələrlə:
Query1 | ||||||
id | L_name | F_name | Middle_name | Birthday | id_realty | növü |
1 | Ivanova | Daria | B. | 07/16/2000 | ||
2 | Pugin | Vladislav | Nikolayeviç | 29.01.1986 | ||
3 | Evgenin | Alexander | Federovich | 04/30/1964 | 5 | əmlak |
4 | Annina | sevgi | P. | 31.12.1989 | ||
5 | Gerasimovsky | ümid | P. | 14.03.1992 | 4 | Common hissələri |
6 | Gerasimovsky | oleg | Albertoviç | 01/29/1985 | 4 | Common hissələri |
7 | Sukhanovskaya | jüri | A. | 09/25/1976 | 1 | əmlak |
7 | Sukhanovskaya | jüri | A. | 09/25/1976 | 3 | Ümumi birgə mülkiyyət |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Ümumi birgə mülkiyyət |
Göründüyü kimi, Ivanova Darya Pugin Vladislav və Anninoy Lyubovi No daşınmaz əmlak hüquqları qeydiyyata alınıb.
Və biz daxili Inner qoşulmaq qoşulmaq istifadə edərək, qəbul edərdiniz? Bildiyiniz kimi, qeyri-uyğun satır istisna, belə ki, bizim son nümunə üç sadəcə düşmüşdür olunacaq:
Query1 | ||||||
id | L_name | F_name | Middle_name | Birthday | id_realty | növü |
3 | Evgenin | Alexander | Federovich | 04/30/1964 | 5 | əmlak |
5 | Gerasimovsky | ümid | P. | 14.03.1992 | 4 | Common hissələri |
6 | Gerasimovsky | oleg | Albertoviç | 01/29/1985 | 4 | Common hissələri |
7 | Sukhanovskaya | jüri | A. | 09/25/1976 | 1 | əmlak |
7 | Sukhanovskaya | jüri | A. | 09/25/1976 | 3 | Ümumi birgə mülkiyyət |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Ümumi birgə mülkiyyət |
Bu ikinci versiyası da bizim problemin şərtlərini cavab ki, görünür. Lakin, biz başqa əlavə başlamaq əgər, bir masa, nəticədə üç nəfər artıq irretrievably getdi. İç daha çox masalar birləşən zaman Buna görə də, praktikada daha tez-tez istifadə Sol və sağ əlaqə buyurun.
sql nümunələri qoşulmaq sola baxmaq davam edəcək. Bizim evlərin ünvanları ilə bir masa əlavə:
SELECT Peoples. * Realty_peoples.id_realty, Realty_peoples.type, Realty.address Xalqları FROM SOL Realty_peoples ON Peoples.id = Realty_peoples.id_peoples OL SOL Realty.id = Realty_peoples.id_realty ON Realty OL |
İndi biz hüquq cür, həm də daşınmaz əmlak Ünvanı yalnız almaq:
Query1 | |||||||
id | L_name | F_name | Middle_name | Birthday | id_realty | növü | ünvan |
1 | Ivanova | Daria | B. | 07/16/2000 | |||
2 | Pugin | Vladislav | Nikolayeviç | 29.01.1986 | |||
3 | Evgenin | Alexander | Federovich | 04/30/1964 | 5 | əmlak | Arxangelsk, pl. Terekhina, d. 89, q. 13 |
4 | Annina | sevgi | P. | 31.12.1989 | |||
5 | Gerasimovsky | ümid | P. | 14.03.1992 | 4 | Common hissələri | Arxangelsk region, Novodvinsk, ul. Proletarshaya, d. 16, q. 137 |
6 | Gerasimovsky | oleg | Albertoviç | 01/29/1985 | 4 | Common hissələri | Arxangelsk region, Novodvinsk, ul. Proletarshaya, d. 16, q. 137 |
7 | Sukhanovskaya | jüri | A. | 09/25/1976 | 3 | Ümumi birgə mülkiyyət | Arxangelsk region, Severodvinsk, st. Lenin, d. 134, q. 85 |
7 | Sukhanovskaya | jüri | A. | 09/25/1976 | 1 | əmlak | Arxangelsk, ul. Voronin, d. 7, kv.6 |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Ümumi birgə mülkiyyət |
Arxangelsk region, Severodvinsk, st. Lenin, d. 134, q. 85 |
Sol qoşulmaq - səhv tipik istifadə: etibarsız proseduru masa
sol xarici edilən əsas səhvlər masalar, iki qoşulmaq
- Düzgün data itirilmiş olan masalar sifariş seçdi.
- səhvlər ilə bir sorğu istifadə edərkən harada masalar buyurun.
ilk səhv düşünün. hər hansı bir problem qərarına əvvəl aydın biz sonunda almaq istəyirəm nə başa düşmək lazımdır. Yuxarıdakı misalda, biz insanların hər bir etdi, lakin tamamilə sahibi tapılmadı 2 saylı altında obyekt haqqında məlumat itirdi.
bəzi yerlərdə sorğu masalar köçürülüb və ilə başlamaq olardı "... Realty ... Peoples qoşulmaq Soldan» hər hansı bir əmlak, sizə insanlar haqqında demək deyil, itirilmiş olmazdı.
Lakin, sol əlaqədar qorxmaq nəticələri və uyğun deyil uyğun xətləri daxil olan tam xarici keçid yoxdur.
Bütün sonra, nümunə həcmi tez-tez çox böyük və əlavə məlumat həqiqətən əhəmiyyətsizdir. Əsas odur ki, - bir nəticə almaq istəyirəm nə anlamaq üçün: bütün insanlar öz mövcud əmlakın siyahısı və ya onların sahibləri ilə bütün əmlak siyahısı (əgər varsa) ilə.
Sol qoşulmaq - səhv tipik istifadə: Harada şərait oluştururken Filmlərin doğru
İkinci səhv də məlumatların itirilməsi ilə bağlı və həmişə dərhal aydın deyil olunur.
əlaqələri bütün insanlar və mövcud mülkiyyət məlumat aldı vasitəsilə biz gedəndə sorğu geri edək. sol sql nümunə qoşulmaq aşağıdakı saxla:
Peoples SOL OL FROM Realty_peoples ON Peoples.id = Realty_peoples.id_peoples; |
biz sorğu aydınlaşdırmaq istəyirəm və çıxış məlumatları yoxdur Güman burada qanunun növü - "Əmlak". biz sadəcə əlavə varsa, SQL, aşağıdakı şərti nümunə qoşulmaq sol istifadə edərək:
...
Harada növü <> "Əmlak" |
biz aşağıdakı null dəyəri Null müqayisədə deyil, çünki, heç bir mülkiyyət insanlar haqqında məlumat itirəcək
Query1 | ||||||
id | L_name | F_name | Middle_name | Birthday | id_realty | növü |
5 | Gerasimovsky | ümid | P. | 14.03.1992 | 4 | Common hissələri |
6 | Gerasimovsky | oleg | Albertoviç | 01/29/1985 | 4 | Common hissələri |
7 | Sukhanovskaya | jüri | A. | 09/25/1976 | 3 | Ümumi birgə mülkiyyət |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Ümumi birgə mülkiyyət |
Bu səbəblə meydana gələn səhvlər qarşısını almaq üçün, əlaqədar dərhal seçim vəziyyəti təyin etmək yaxşı deyil. Biz sql nümunə qoşulmaq sol aşağıdakı hesab gəlir.
SELECT Peoples. * Realty_peoples.id_realty, Realty_peoples.type Xalqları FROM SOL Realty_peoples ON OL (Peoples.id = Realty_peoples.id_peoples VƏ type <> "Əmlak") |
aşağıdakı nəticə olacaq:
Query1 | ||||||
id | L_name | F_name | Middle_name | Birthday | id_realty | növü |
1 | Ivanova | Daria | B. | 07/16/2000 | ||
2 | Pugin | Vladislav | Nikolayeviç | 29.01.1986 | ||
3 | Evgenin | Alexander | Federovich | 04/30/1964 | ||
4 | Annina | sevgi | P. | 31.12.1989 | ||
5 | Gerasimovsky | ümid | P. | 14.03.1992 | 4 | Common hissələri |
6 | Gerasimovsky | oleg | Albertoviç | 01/29/1985 | 4 | Common hissələri |
7 | Sukhanovskaya | jüri | A. | 09/25/1976 | 3 | Ümumi birgə mülkiyyət |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Ümumi birgə mülkiyyət |
sql nümunə qoşulmaq sol sadə aşağıdakı Belə ki, biz bundan sonra da hərəkət, bütün insanların bir siyahısını qəbul kapital / birgə mülkiyyətində olan bu xüsusiyyətləri biridir.
Nəticədə bir daha bazası hər hansı bir məlumat bir nümunə məsuliyyətlə qəbul etmək lazımdır ki, qeyd etmək istəyirəm. sol ilə qarşımızda açılan bir çox nüanslar sql sadə misal qoşulmaq izahat hansı biri - hətta əsas sorğu yazmaq başlamaq əvvəl, diqqətlə sonuna almaq istəyirəm nə anlamaq lazımdır. Uğurlar!
Similar articles
Trending Now