Computer, Programming
Wala apil (SQL) - usa ka panig-ingnan, ang detalyado nga paghulagway, paggamit sa sayop
Sa bisan unsa nga tinuod nga relasyon database, sa tanan nga impormasyon nga-apod-apod sa usa ka lain nga lamesa. Daghan sa mga lamesa nga gibutang diha sa pamaagi sa komunikasyon sa usag usa. Apan, uban sa tabang sa SQL pangutana kini mao ang na posible nga sa pagbutang sa usa ka link sa taliwala sa mga data, wala makulit sa sirkito. Kini mao ang gibuhat pinaagi sa paghimo sa usa ka apil koneksyon, nga nagtugot kaninyo sa pagtukod sa usa ka relasyon tali sa bisan unsa nga gidaghanon sa mga lamesa, ug bisan Sumpaysumpaya daw disparate nga impormasyon.
Kini nga artikulo ang istorya ilabi bahin sa wala nga gawas nga moapil. Sa wala pa mopadayon ngadto sa paghulagway sa niini nga matang sa koneksyon, makadugang sa pipila ka lamesa database.
Pag-andam sa gikinahanglan nga mga lamesa
Pananglitan, sa atong database, adunay impormasyon mahitungod sa mga tawo ug sa ilang tinuod nga kahimtang. Katingbanan base sa tulo ka mga lamesa: Peoples (mga tawo), Realty (tinuod nga kahimtang), Realty_peoples (relasyon sa lamesa, ang mga tawo nga gikan sa kabtangan nga iya sa). Hunahunaa ang mosunod nga mga data nga gitipigan sa mga lamesa sa mga katawohan:
Peoples | ||||
id | L_name | F_name | Middle_name | Birthday |
1 | Ivanova | Daria | B. | 07/16/2000 |
2 | Pugin | Vladislav | Nikolaevich | 29.01.1986 |
3 | Evgenin | Alejandro | Federovich | 04/30/1964 |
4 | Annina | nahigugma | P. | 31.12.1989 |
5 | Gerasimovsky | paglaum | P. | 14.03.1992 |
6 | Gerasimovsky | Oleg | Albertovich | 01/29/1985 |
7 | Sukhanovskaya | jury | A. | 09/25/1976 |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 |
Ang tinuod nga kahimtang:
Realty | |
id | address |
1 | Arkhangelsk, UL. Voronin, d. 7, kv.6 |
2 | Arkhangelsk, UL. Severodvinskaya, d. 84, q. 9 BR. 5 |
3 | Arkhangelsk rehiyon, Severodvinsk, st. Lenin, d. 134, q. 85 |
4 | Arkhangelsk rehiyon, Novodvinsk, ul. Proletarshaya, d. 16, q. 137 |
5 | Arkhangelsk, pl. Terekhina, d. 89, q. 13 |
Nga relasyon sa mga tawo - kabtangan:
Realty_peoples | ||
id_peoples | id_realty | matang |
7 | 3 | Total joint pagpanag-iya |
8 | 3 | Total joint pagpanag-iya |
3 | 5 | kabtangan |
7 | 1 | kabtangan |
5 | 4 | komon nga mga bahin |
6 | 4 | komon nga mga bahin |
Wala apil (SQL) - Description
Wala compound ang mosunod nga syntax:
Table_A W ALA APIL table_B [{SA predicate} | {PAGGAMIT spisok_ sa tolbtsov}] |
Ug schematically ingon sa mosunod:
Ug kini nga ekspresyon gihubad nga "Pagpili tanan, nga walay gawas, linya sa Table A ug Table B sa pagpasundayag lamang sa matching laray nga gihulma sa predicate. Kon ang lamesa nakaplagan diha sa lamesa hilo alang sa nagtinagurha sa usa ka, unya pun-on ang mga resulta haligi-bili - mga hiyas ".
Kasagaran, sa diha nga sa wala koneksyon gipakita SA, sa paggamit sa gigamit lamang sa diha nga ang mga ngalan nga kolum, nga giplano aron sa paghimo sa koneksyon mao ang mga sama nga.
Wala apil - mga panig-ingnan sa paggamit
Uban sa koneksyon sa sa wala nga atong makita, ang tanan nga mga katawhan gikan sa listahan kon may Peoples kabtangan. Sa pagbuhat niini sa wala moapil SQL pangutana nga panig-ingnan:
Pagpili sa Katawhan. *, Realty_peoples.id_realty, Realty_peoples.type GIKAN Peoples W ALA APIL Realty_peoples SA Peoples.id = Realty_peoples.id_peoples; |
Uban sa mosunod nga mga resulta:
Query1 | ||||||
id | L_name | F_name | Middle_name | Birthday | id_realty | matang |
1 | Ivanova | Daria | B. | 07/16/2000 | ||
2 | Pugin | Vladislav | Nikolaevich | 29.01.1986 | ||
3 | Evgenin | Alejandro | Federovich | 04/30/1964 | 5 | kabtangan |
4 | Annina | nahigugma | P. | 31.12.1989 | ||
5 | Gerasimovsky | paglaum | P. | 14.03.1992 | 4 | komon nga mga bahin |
6 | Gerasimovsky | Oleg | Albertovich | 01/29/1985 | 4 | komon nga mga bahin |
7 | Sukhanovskaya | jury | A. | 09/25/1976 | 1 | kabtangan |
7 | Sukhanovskaya | jury | A. | 09/25/1976 | 3 | Total joint pagpanag-iya |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Total joint pagpanag-iya |
Ingon sa atong makita, Ivanova Darya Pugin Vladislav ug Anninoy Lyubovi Walay narehistro katungod sa tinuod nga kahimtang.
Ug unsa ang atong nadawat, sa paggamit sa usa ka sulod nga apil sa Galamhan apil? Samtang kamo mahibalo, Wala kini non-matching laray nga gihulma, mao nga sa tulo ka gikan sa atong katapusan nga sample nga lamang nga nagatulo:
Query1 | ||||||
id | L_name | F_name | Middle_name | Birthday | id_realty | matang |
3 | Evgenin | Alejandro | Federovich | 04/30/1964 | 5 | kabtangan |
5 | Gerasimovsky | paglaum | P. | 14.03.1992 | 4 | komon nga mga bahin |
6 | Gerasimovsky | Oleg | Albertovich | 01/29/1985 | 4 | komon nga mga bahin |
7 | Sukhanovskaya | jury | A. | 09/25/1976 | 1 | kabtangan |
7 | Sukhanovskaya | jury | A. | 09/25/1976 | 3 | Total joint pagpanag-iya |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Total joint pagpanag-iya |
Kini daw nga sa ikaduha nga bersyon usab magtigum sa mga kondisyon sa atong problema. Apan, kon kita magsugod sa padapat, patampo sa usa, ug ang lain nga lamesa, sa tulo ka mga tawo gikan sa resulta na gitino na. Busa, diha sa buhat, sa diha nga ang paghiusa daghang mga lamesa mas labaw pa sa kasagaran nga gigamit Wala ug Tuo nga koneksyon kay sa Inner-apil.
Magpadayon sa pagtan-aw sa wala apil SQL mga panig-ingnan. Ipapilit sa usa ka lamesa uban sa mga pakigpulong sa among mga balay:
Pagpili sa Katawhan. *, Realty_peoples.id_realty, Realty_peoples.type, Realty.address GIKAN Katawhan W ALA APIL Realty_peoples SA Peoples.id = Realty_peoples.id_peoples W ALA APIL Realty SA Realty.id = Realty_peoples.id_realty |
Karon kita dili lamang usa ka matang sa balaod, apan usab ang address sa tinuod nga kahimtang:
Query1 | |||||||
id | L_name | F_name | Middle_name | Birthday | id_realty | matang | address |
1 | Ivanova | Daria | B. | 07/16/2000 | |||
2 | Pugin | Vladislav | Nikolaevich | 29.01.1986 | |||
3 | Evgenin | Alejandro | Federovich | 04/30/1964 | 5 | kabtangan | Arkhangelsk, pl. Terekhina, d. 89, q. 13 |
4 | Annina | nahigugma | P. | 31.12.1989 | |||
5 | Gerasimovsky | paglaum | P. | 14.03.1992 | 4 | komon nga mga bahin | Arkhangelsk rehiyon, Novodvinsk, ul. Proletarshaya, d. 16, q. 137 |
6 | Gerasimovsky | Oleg | Albertovich | 01/29/1985 | 4 | komon nga mga bahin | Arkhangelsk rehiyon, Novodvinsk, ul. Proletarshaya, d. 16, q. 137 |
7 | Sukhanovskaya | jury | A. | 09/25/1976 | 3 | Total joint pagpanag-iya | Arkhangelsk rehiyon, Severodvinsk, st. Lenin, d. 134, q. 85 |
7 | Sukhanovskaya | jury | A. | 09/25/1976 | 1 | kabtangan | Arkhangelsk, UL. Voronin, d. 7, kv.6 |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Total joint pagpanag-iya |
Arkhangelsk rehiyon, Severodvinsk, st. Lenin, d. 134, q. 85 |
Wala apil - sa mga tipikal nga paggamit sa sayop: imbalido pamaagi lamesa
Basic sayop nga gihimo sa wala nga gawas nga apil lamesa, duha ka:
- Husto pinili nga sa kapunongan sa mga lamesa nga data nawala.
- Diin mga sayop sa diha nga ang paggamit sa usa ka pangutana sa moapil lamesa.
Tagda ang unang sayop. Sa wala pa ang desisyon sa bisan unsa nga problema kinahanglan nga tin-aw nga nasabtan nga ang gusto kita sa pagkuha sa katapusan. Sa panig-ingnan niini nga sa itaas, gikuha kami matag usa sa mga katawhan, apan bug-os nga nawad-an sa impormasyon mahitungod sa butang sa ilalum sa gidaghanon 2, kansang tag-iya wala hikaplagi.
Kon mibalhin kami sa mga lamesa sa usa ka pangutana sa pipila ka mga dapit, ug magsugod sa «... Gikan sa Realty sa wala moapil Katawhan ...» sa bisan unsa nga usa ka kabtangan, dili kita unta nawala, kamo dili pagsulti mahitungod sa mga tawo.
Apan ayaw kalisang sa mga wala koneksyon, switch sa bug-os nga sa gawas, nga gilakip sa mga resulta ug sa matching, ug dili ang matching linya.
Human sa tanan, ang gidaghanon sa sampol mao ang kanunay nga dako kaayo, ug dugang nga data mao ang tinuod nga walay pulos. Ang nag-unang butang nga - sa numero sa kon unsa ang imong gusto sa pagkuha sa usa ka resulta: sa tanan nga mga tawo uban sa usa ka listahan sa ilang anaa kabtangan o sa bug-os nga listahan kabtangan uban sa ilang mga tag-iya (kon sa bisan unsa nga).
Wala apil - sa mga tipikal nga paggamit sa sayop: Hangyo mao ang husto sa dihang sa paghimo sa mga kahimtang sa Hain
Ang ikaduha nga sayop usab nakig-uban sa pagkawala sa data, ug dili kanunay nga diha-diha dayon dayag.
Himoa ni mobalik ngadto sa pangutana sa dihang mibiya kita pinaagi sa koneksyon nakadawat data alang sa tanang mga tawo ug sa ilang kasamtangan nga mga kabtangan. Hinumdumi ang mosunod uban sa wala moapil SQL nga panig-ingnan:
GIKAN Peoples W ALA APIL Realty_peoples SA Peoples.id = Realty_peoples.id_peoples; |
Pananglitan gusto kita sa pagpatin-aw sa mga hangyo ug dili output sa data, diin ang mga matang sa balaod - "Property". Kon kita lamang append, ginamit gibiyaan apil SQL, usa ka panig-ingnan sa mosunod nga kahimtang:
...
Diin matang <> "Property" |
kita mawad-an sa mga data sa mga tawo nga walay kabtangan, tungod kay ang bili bili-bili dili itandi sama sa mosunod:
Query1 | ||||||
id | L_name | F_name | Middle_name | Birthday | id_realty | matang |
5 | Gerasimovsky | paglaum | P. | 14.03.1992 | 4 | komon nga mga bahin |
6 | Gerasimovsky | Oleg | Albertovich | 01/29/1985 | 4 | komon nga mga bahin |
7 | Sukhanovskaya | jury | A. | 09/25/1976 | 3 | Total joint pagpanag-iya |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Total joint pagpanag-iya |
Aron malikayan ang mga sayop sa nahitabo alang niini nga rason, kini mao ang labing maayo nga ang mga kahimtang pagpili diha-diha dayon sa koneksyon. mosugyot kami sa paghunahuna sa mosunod nga uban sa wala moapil SQL nga panig-ingnan.
Pagpili sa Katawhan. *, Realty_peoples.id_realty, Realty_peoples.type GIKAN Katawhan W ALA APIL Realty_peoples ON (Peoples.id = Realty_peoples.id_peoples UG matang <> "Property") |
Ang resulta mahimong ingon sa mosunod:
Query1 | ||||||
id | L_name | F_name | Middle_name | Birthday | id_realty | matang |
1 | Ivanova | Daria | B. | 07/16/2000 | ||
2 | Pugin | Vladislav | Nikolaevich | 29.01.1986 | ||
3 | Evgenin | Alejandro | Federovich | 04/30/1964 | ||
4 | Annina | nahigugma | P. | 31.12.1989 | ||
5 | Gerasimovsky | paglaum | P. | 14.03.1992 | 4 | komon nga mga bahin |
6 | Gerasimovsky | Oleg | Albertovich | 01/29/1985 | 4 | komon nga mga bahin |
7 | Sukhanovskaya | jury | A. | 09/25/1976 | 3 | Total joint pagpanag-iya |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Total joint pagpanag-iya |
Busa, pinaagi sa pagsunod sa yano nga sa wala moapil SQL panig-ingnan, nakadawat kita og usa ka listahan sa tanan nga mga katawhan, sa pagbalhin sa dugang, usa niini nga mga kabtangan sa usa ka equity / joint pagpanag-iya.
Ingon sa usa ka konklusyon gusto ko nga og gibug-aton pag-usab nga ang usa ka sample sa bisan unsa nga impormasyon gikan sa database kinahanglan nga gikuha sa responsableng. Daghang mga nuances giablihan sa atubangan sa kanato uban wala moapil SQL yano nga panig-ingnan, ang katin-awan nga usa ka - sa dili pa ikaw magsugod sa pagsulat bisan sa nag-unang mga pangutana, kamo kinahanglan gayud nga pag-ayo sa pagsabut kon unsa ang gusto kita sa pagkuha sa katapusan. Maayong luck!
Similar articles
Trending Now