Solosaina, Fandaharana
Left anjara (SQL) - ohatra, ny tsipiriany famaritana, fampiasana ny fahadisoana
Na izany na tsy tena fifandraisana banky angona, ny vaovao rehetra dia zaraina amin'ny latabatra samihafa. Maro ny vato fisaka dia voalaza ao amin'ny drafitra fifandraisana amin'izy samy izy. Na izany aza, noho ny fanampian'ny SQL fanontaniana izany dia tena azo atao ny mametraka ny rohy eo amin'ny tahirin-kevitra, tsy nandinika lalina ny fizaran-tany. Izany dia atao amin'ny alalan'ny fanaovana ny hiditra fifandraisana, izay mamela anareo hanao ny fifandraisana eo amin'ny latabatra na maro, ary na dia toa mifandray mahaleotena sy fanazavana.
Ity lahatsoratra ity dia hiresaka manokana momba ny ankavia hiaraka ivelany. Alohan'ny mivoaka ny famaritana izany karazana fifandraisana, hametraka amin'ny banky angona misy latabatra.
Manomana ny ilaina latabatra
Ohatra, ao amin'ny banky angona dia misy vaovao momba ny olona sy ny tena toetrany. Famintinana telo miorina amin'ny vato fisaka: Olona (ny olona), Realty (tena toetrany), Realty_peoples (table ny fifandraisana, ny olona izay avy amin'ny zavatra fananana an'i). Mihevitra ny angon-drakitra manaraka voatahiry ao amin'ny latabatry ny vahoaka;
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 | Alexander | Federovich | 04/30/1964 |
4 | Annina | fitiavana | P. | 31.12.1989 |
5 | Gerasimovsky | manantena | P. | 14.03.1992 |
6 | Gerasimovsky | Oleg | Albertovich | 01/29/1985 |
7 | Sukhanovskaya | mpitsara | A. | 09/25/1976 |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 |
Real toetrany:
Realty | |
ID | adiresy |
1 | Arkhangelsk, ul. Voronin, e. 7, kv.6 |
2 | Arkhangelsk, ul. Severodvinskaya, d. 84, Q. 9 BR. 5 |
3 | Arkhangelsk faritra, Severodvinsk, St. Lenin, e. 134, Q. 85 |
4 | Arkhangelsk faritra, Novodvinsk, ul. Proletarshaya, d. 16, Q. 137 |
5 | Arkhangelsk, pl. Terekhina, d. 89, Q. 13 |
Fifandraisana olona - fananana:
Realty_peoples | ||
id_peoples | id_realty | karazana |
7 | 3 | Total mpiara tompony |
8 | 3 | Total mpiara tompony |
3 | 5 | fananana |
7 | 1 | fananana |
5 | 4 | Common faritra |
6 | 4 | Common faritra |
Ankavia anjara (SQL) - Description
Ankavia iombonana amin'ny manana ny manaraka Syntaxe:
Table_A ANKA JOIN table_B [{ON enti-} | {NAMPIASA spisok_ amin'ny tolbtsov}] |
Ary schematically toy izao manaraka izao:
Ary izao no teny nadika hoe "Select rehetra, tsy an-kanavaka, taranak'i Loha A sy B Table mba haneho ihany ny mifandraika andalana ny enti-. Raha ny latabatra hita tao an-laha-daza ho an'ny latabatra tsiroaroa A, dia fenoy ny vokatry ny andry tohivakana foana - soatoavina ".
Tena matetika, rehefa mifandray ny sisa dia voalaza ON, mampiasa dia ampiasaina raha tsy rehefa ny andry anarana, izay nikasa hanao ny fifandraisana dia mitovy.
Left hiaraka - ohatra ny fampiasana
Noho ny fifandraisana amin'ny ankavia hitantsika, ny vahoaka rehetra avy amin'ny lisitra raha misy Vahoaka fananana. Mba hanaovana izany ao amin'ny ankavia miaraka ny requête SQL ohatra:
SELECT vahoaka. *, Realty_peoples.id_realty, Realty_peoples.type FROM Peoples ANKA JOIN Realty_peoples ON Peoples.id = Realty_peoples.id_peoples; |
Noho ny vokatra manaraka ireto:
Query1 | ||||||
ID | L_name | F_name | Middle_name | Birthday | id_realty | karazana |
1 | Ivanova | Daria | B. | 07/16/2000 | ||
2 | Pugin | Vladislav | Nikolaevich | 29.01.1986 | ||
3 | Evgenin | Alexander | Federovich | 04/30/1964 | 5 | fananana |
4 | Annina | fitiavana | P. | 31.12.1989 | ||
5 | Gerasimovsky | manantena | P. | 14.03.1992 | 4 | Common faritra |
6 | Gerasimovsky | Oleg | Albertovich | 01/29/1985 | 4 | Common faritra |
7 | Sukhanovskaya | mpitsara | A. | 09/25/1976 | 1 | fananana |
7 | Sukhanovskaya | mpitsara | A. | 09/25/1976 | 3 | Total mpiara tompony |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Total mpiara tompony |
Araka ny hitantsika, Ivanova Darya Pugin Vladislav sy Anninoy Lyubovi Tsy voasoratra ara-panjakana ny zon'ny Real Estate.
Ary inona no noraisintsika, amin'ny fampiasana ny anatiny hiaraka hiaraka Anaty? Tahaka ny fantatrareo ihany, dia navahan'i tsy mifandraika toerana, dia toy izany ny telo avy ny farany dia santionany fotsiny ho nandatsaka:
Query1 | ||||||
ID | L_name | F_name | Middle_name | Birthday | id_realty | karazana |
3 | Evgenin | Alexander | Federovich | 04/30/1964 | 5 | fananana |
5 | Gerasimovsky | manantena | P. | 14.03.1992 | 4 | Common faritra |
6 | Gerasimovsky | Oleg | Albertovich | 01/29/1985 | 4 | Common faritra |
7 | Sukhanovskaya | mpitsara | A. | 09/25/1976 | 1 | fananana |
7 | Sukhanovskaya | mpitsara | A. | 09/25/1976 | 3 | Total mpiara tompony |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Total mpiara tompony |
Toa fa ny faharoa dikan mahafeno ny fepetra ihany koa ny olana. Na izany aza, raha manomboka mampiditra amin'ny iray hafa, ary ny anankiray kosa latabatra, olona telo avy amin'ny vokatry irretrievably efa lasa. Noho izany, amin'ny fomba fanao, rehefa natambatra latabatra maro kokoa matetika havia sy havanana fifandraisana noho ny Inner hiaraka.
Ho foana ny mijery ho amin'ny ankavia hiaraka SQL ohatra. Mampiditra ny latabatra amin'ny adiresy ny tranonareo;
SELECT vahoaka. *, Realty_peoples.id_realty, Realty_peoples.type, Realty.address FROM Peoples ANKA JOIN Realty_peoples ON Peoples.id = Realty_peoples.id_peoples ANKA JOIN Realty ON Realty.id = Realty_peoples.id_realty |
Ankehitriny dia tsy mahazo karazana lalàna, fa koa ny adiresy ny tena toetrany;
Query1 | |||||||
ID | L_name | F_name | Middle_name | Birthday | id_realty | karazana | adiresy |
1 | Ivanova | Daria | B. | 07/16/2000 | |||
2 | Pugin | Vladislav | Nikolaevich | 29.01.1986 | |||
3 | Evgenin | Alexander | Federovich | 04/30/1964 | 5 | fananana | Arkhangelsk, pl. Terekhina, d. 89, Q. 13 |
4 | Annina | fitiavana | P. | 31.12.1989 | |||
5 | Gerasimovsky | manantena | P. | 14.03.1992 | 4 | Common faritra | Arkhangelsk faritra, Novodvinsk, ul. Proletarshaya, d. 16, Q. 137 |
6 | Gerasimovsky | Oleg | Albertovich | 01/29/1985 | 4 | Common faritra | Arkhangelsk faritra, Novodvinsk, ul. Proletarshaya, d. 16, Q. 137 |
7 | Sukhanovskaya | mpitsara | A. | 09/25/1976 | 3 | Total mpiara tompony | Arkhangelsk faritra, Severodvinsk, St. Lenin, e. 134, Q. 85 |
7 | Sukhanovskaya | mpitsara | A. | 09/25/1976 | 1 | fananana | Arkhangelsk, ul. Voronin, e. 7, kv.6 |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Total mpiara tompony |
Arkhangelsk faritra, Severodvinsk, St. Lenin, e. 134, Q. 85 |
Havia anjara - ny mahazatra fampiasana ny fahadisoana: tsy manan-kery fomba table
Basic fahadisoana atao amin'ny ankavia ivelany hiaraka latabatra roa:
- Tsara nifidy ny lamin 'latabatra izay tahirin-kevitra very.
- Aiza fahadisoana, rehefa mampiasa ny QUERY amin'ny hiaraka latabatra.
Diniho ny fahadisoana voalohany. Talohan'ny ny fanapahan-kevitra na inona na inona olana dia tokony ho mazava tsara fa ny zavatra azon'ny te-hahazo amin'ny farany. Ao amin'io ohatra etsy ambony, dia nandray tsirairay ao anatin 'ny olona, fa very tanteraka ny vaovao momba ny zavatra ambanin'ny isa 2, izay tsy hita tompony.
Raha ny vato fisaka Nifindra tao amin'ny fangatahana any amin'ny toerana sasany, ka dia manomboka amin'ny «... From Realty nandao hiaraka Vahoaka ...» misy olona fananana, dia tsy mba very, dia tsy hilaza ny olona.
Nefa aza raiki-tahotra ny fifandraisana amin'ny ankavia, mifamadika ho feno ivelany, izay tafiditra ao amin'ny vokatra sy ny mifandraika, fa tsy ny mifandraika andalana.
Rehefa dinihina tokoa, ny boky ny santionany dia matetika lehibe dia lehibe, ary ny tahirin-kevitra fanampiny raha ny marina tsy misy ilàna azy. Ny zava-dehibe indrindra - vao hahalala izay te-hahazo vokatr'izany: ny olona rehetra ny lisitry ny fananany na ny misy ny lisitry ny fananana manontolo amin'ny tompony (raha misy).
Havia anjara - ny fampiasana ny hadisoana mahazatra: fangatahana marina, rehefa mametraka ny fepetra ao amin'ny Aiza
Ny fahadisoana faharoa koa mifandray amin'ny famoizana tahirin-kevitra, ary tsy hita avy hatrany foana.
Ndao hiverina any amin'ny fangatahana rehefa nandao fifandraisana amin'ny alalan'ny antontan-kevitra ho an'ny rehetra nahazo ny vahoaka sy ny fananany efa misy. Tsarovy ny manaraka amin'ny ankavia hiara-SQL ohatra:
FROM Peoples ANKA JOIN Realty_peoples ON Peoples.id = Realty_peoples.id_peoples; |
Aoka hatao hoe te hanazava ny fangatahana ary tsy manao Output ny angon-drakitra, izay ny karazana lalàna - "Property". Raha fotsiny append, mampiasa niala anjara SQL, ohatra ny toe-javatra manaraka ireto:
...
Aiza karazana <> "Property" |
dia very ny tahirin-kevitra ny olona izay tsy manana fananana, satria sarobidy ny tohivakana foana tohivakana foana dia tsy ampitahaina toy izao manaraka izao:
Query1 | ||||||
ID | L_name | F_name | Middle_name | Birthday | id_realty | karazana |
5 | Gerasimovsky | manantena | P. | 14.03.1992 | 4 | Common faritra |
6 | Gerasimovsky | Oleg | Albertovich | 01/29/1985 | 4 | Common faritra |
7 | Sukhanovskaya | mpitsara | A. | 09/25/1976 | 3 | Total mpiara tompony |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Total mpiara tompony |
Mba hisorohana ny fahadisoana tsy nitranga Noho izany antony izany, dia tsara indrindra ny nametraka avy hatrany ny toe-fifantenana eo fifandraisana. Soso-kevitra izahay ny mandinika ireto manaraka ireto miaraka amin'ny ankavia hiaraka SQL ohatra.
SELECT vahoaka. *, Realty_peoples.id_realty, Realty_peoples.type FROM Peoples ANKA JOIN Realty_peoples ON (Peoples.id = Realty_peoples.id_peoples SY karazana <> "Property") |
Ny vokatr'izany dia ho toy izao manaraka izao:
Query1 | ||||||
ID | L_name | F_name | Middle_name | Birthday | id_realty | karazana |
1 | Ivanova | Daria | B. | 07/16/2000 | ||
2 | Pugin | Vladislav | Nikolaevich | 29.01.1986 | ||
3 | Evgenin | Alexander | Federovich | 04/30/1964 | ||
4 | Annina | fitiavana | P. | 31.12.1989 | ||
5 | Gerasimovsky | manantena | P. | 14.03.1992 | 4 | Common faritra |
6 | Gerasimovsky | Oleg | Albertovich | 01/29/1985 | 4 | Common faritra |
7 | Sukhanovskaya | mpitsara | A. | 09/25/1976 | 3 | Total mpiara tompony |
8 | Sukhanovskaya | Julia | Y. | 01.10.2001 | 3 | Total mpiara tompony |
Araka izany, amin'ny fanarahana ny kely saina ho amin'ny ankavia hiaraka SQL ohatra, izahay, nahazo ny lisitry ny vahoaka rehetra, mihetsika koa, anankiray amin'ireo fananana ao amin'ny hitsiny / mpiray tompony.
Ho famintinana aho dia te-hanamafisana indray mandeha indray fa ny santionany ny misy vaovao avy amin'ny banky angona tokony ho raisina andraikitra. Maro ny tsipirian'ilay nisokatra teo anoloan'ny havia antsika hiaraka SQL tsotra, ohatra, ny fanazavana izay iray - eo anatrehanao manomboka manoratra na dia QUERY fototra, dia tsy maintsy tsara ny hahatakatra ny zavatra tiantsika ny hahazo amin'ny farany. Tsara vintana!
Similar articles
Trending Now