ComputerenProgramméiere

Lénks anzeschreiwen (SQL) - e Beispill, déi detailléiert Beschreiwung, Gebrauch vun den Feeler

An all real relational Datebank, ass all Informatiounen op engem getrennte Dësch verdeelt. Vill vun den Dëscher sinn an der Kommunikatioun Schema mat all aner Formatioun erausbréngen. Mä mat der Hëllef vun SQL ufroën et ass relativ méiglech e Link tëscht der Donnéeën ze no, net am Circuit Ënnerbewosstsinn. Dëst ass duerch eng Verbindung mat gemaach, wat Dir eng Relatioun tëscht all Zuel vun Dëscher ze bauen erlaabt, an och wuel net erklären disparate Informatiounen Verbindung.

Dësen Artikel gëtt et elo spezifesch iwwer lénks baussenzegen anzeschreiwen. Ier Dir an d'Beschreiwung vun dësem Typ vun Verbindung Foto, an e puer Datebank Dëscher.

Virbereeden déi néideg Dëscher

Zum Beispill, an eiser Datebank, ass et Informatiounen iwwer Leit an hir Immobilien. Resumé baséiert op den dräi Dëscher: Peoples (Leit), Realty (Immobilien), Realty_peoples (Dësch Relatiounen, Leit, déi aus wat Propriétéit gehéiert). Verantwortung déi folgend Daten am Dëscher vun de Leit gespäichert:

Populatiounen

ID

L_name

F_name

Middle_name

Gebuertsdag

1

IVANOVA IVANOVA

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

4

Annina

Léift

P.

31.12.1989

5

Gerasimovsky

hoffen

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

Immobilien:

Realty

ID

Adress

1

Arkhangelsk, ech. Voronin, d. 7, kv.6

2

Arkhangelsk, ech. Severodvinskaya, d. 84, q. 9 BR. 5

3

Arkhangelsk Regioun, Severodvinsk, St. Leninuerden, d. 134, q. 85

4

Arkhangelsk Regioun, Novodvinsk, ech. Proletarshaya, d. 16, q. 137

5

Arkhangelsk, pl. Terekhina, d. 89, q. 13

Relatiounen Leit - Verméigen:

Realty_peoples

id_peoples

id_realty

Typ

7

3

Ganzen gemeinsame Proprietairen

8

3

Ganzen gemeinsame Proprietairen

3

5

Propriétéit

7

1

Propriétéit

5

4

gemeinsam Deeler

6

4

gemeinsam Deeler

Lénks anzeschreiwen (SQL) - Beschreiwung

Lénks Massa huet den folgenden Siwebiergen:

Table_A LENKS JOIN table_B [{ON predicate} | {DËS spisok_ mat tolbtsov}]

An schematically wéi follegt:

An dësem Ausdrock ass als "Wielt All iwwersat, ouni Ausnam, Linn vun Table A a B Table nëmmen de passende Zeile vun der predicate ze affichéieren. Wann den Dësch fir Puer A am String Dësch fonnt gouf, da fëllt déi doraus resultéierend Saile NULL - Wäerter ".

Am meeschten, wann déi lénks Verbindung uginn ass ON, ass DËS benotzt nëmmen wann de Kolonne Nimm, déi geplangt ass d'Verbindung ze maachen déi selwecht sinn.

Lénks anzeschreiwen - Beispiller vum Gebrauch

Mat der Verbindung vun der lénker Säit kënne mir kucken, all déi Leit aus der Lëscht wann et Peoples Propriétéit. Ze maachen mat deem vun der rietser SQL Paieziedel Beispill:

Beruflecher kennegeléiert. *, Realty_peoples.id_realty, Realty_peoples.type

AUS Peoples LENKS JOIN Realty_peoples ON Peoples.id = Realty_peoples.id_peoples;

Mat den folgenden Resultater:

Query1

ID

L_name

F_name

Middle_name

Gebuertsdag

id_realty

Typ

1

IVANOVA IVANOVA

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

5

Propriétéit

4

Annina

Léift

P.

31.12.1989

5

Gerasimovsky

hoffen

P.

14.03.1992

4

gemeinsam Deeler

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

gemeinsam Deeler

7

Sukhanovskaya

Jury

A.

09/25/1976

1

Propriétéit

7

Sukhanovskaya

Jury

A.

09/25/1976

3

Ganzen gemeinsame Proprietairen

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Ganzen gemeinsame Proprietairen

Well mer gesinn, IVANOVA IVANOVA Darya Pugin Vladislav an Anninoy Lyubovi Nee Immobilien Rechter ugemellt.

A wat géif mir hunn dobäi geduecht, andeems en zentrale anzeschreiwen banneschten anzeschreiwen? Wéi Dir wësst, domadder et Net-passende Zeile, also dräi aus eiser Finale Prouf einfach ewechgelooss ginn hätt:

Query1

ID

L_name

F_name

Middle_name

Gebuertsdag

id_realty

Typ

3

Evgenin

Alexander

Federovich

04/30/1964

5

Propriétéit

5

Gerasimovsky

hoffen

P.

14.03.1992

4

gemeinsam Deeler

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

gemeinsam Deeler

7

Sukhanovskaya

Jury

A.

09/25/1976

1

Propriétéit

7

Sukhanovskaya

Jury

A.

09/25/1976

3

Ganzen gemeinsame Proprietairen

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Ganzen gemeinsame Proprietairen

Et géif schéngen, datt déi zweet Versioun och d'Konditioune vun eise Problem trëfft. Allerdéngs, wa mir fänken op enger anerer ze befestegt, an engem aneren Dësch, dräi Leit aus der Resultat schonn irretrievably fort. Also, an der Praxis, wa méi Dëscher vill méi oft benotzt Gauche an Richteg Verbindung wéi banneschten kombinéiert anzeschreiwen.

Wäert weiderhin lénks mat SQL Beispiller am Wanterschlof war. Befestegt engem Dësch mat Adressen vun eisen Haiser:

Beruflecher kennegeléiert. *, Realty_peoples.id_realty, Realty_peoples.type, Realty.address

AUS Peoples

LENKS JOIN Realty_peoples ON Peoples.id = Realty_peoples.id_peoples

LENKS JOIN Realty ON Realty.id = Realty_peoples.id_realty

Elo kréien mer net nëmmen eng Zort Gesetz, mä och d'Adress vun Immobilien:

Query1

ID

L_name

F_name

Middle_name

Gebuertsdag

id_realty

Typ

Adress

1

IVANOVA IVANOVA

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

5

Propriétéit

Arkhangelsk, pl. Terekhina, d. 89, q. 13

4

Annina

Léift

P.

31.12.1989

5

Gerasimovsky

hoffen

P.

14.03.1992

4

gemeinsam Deeler

Arkhangelsk Regioun, Novodvinsk, ech. Proletarshaya, d. 16, q. 137

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

gemeinsam Deeler

Arkhangelsk Regioun, Novodvinsk, ech. Proletarshaya, d. 16, q. 137

7

Sukhanovskaya

Jury

A.

09/25/1976

3

Ganzen gemeinsame Proprietairen

Arkhangelsk Regioun, Severodvinsk, St. Leninuerden, d. 134, q. 85

7

Sukhanovskaya

Jury

A.

09/25/1976

1

Propriétéit

Arkhangelsk, ech. Voronin, d. 7, kv.6

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Ganzen gemeinsame Proprietairen

Arkhangelsk Regioun, Severodvinsk, St. Leninuerden, d. 134, q. 85

Lénks anzeschreiwen - déi typesch Gebrauch vun Feeler: Onwierksamkeet Prozedur Dësch

Elementar Feeler op der rietser baussenzegen huet sech Dëscher, zwee:

  1. Richteg ausgewielt der Uerdnung vun Dëscher fir déi Daten verluer war.
  2. Wou Feeler wann sech e Paieziedel mat Hëllef Dëscher.

Als éischt Feeler. Virum der Decisioun vun all Problem kloer verstane ginn soll dat wat mir am Enn ze kréien wëllt. An dësem Beispill uewen, dee mer all eenzelne ee vun de Leit, mä verluer misst d'Informatiounen iwwert den Objet ënnert der Nummer 2, deem seng Proprietaire gouf net fonnt.

Wa mir den Dëscher an engem Paieziedel an e puer Plazen geplënnert, a géif mat ufänken "... Vun Realty anzeschreiwen Peoples lénks ...» all ee Verméigen, géif mir net verluer hunn, wäert Dir net iwwer Leit soen.

Mee do gin net erschreckt vun der rietser Verbindung, schalt ze voll externen, déi am Resultater an de passende abegraff ass, an net de passende Linnen.

No all, de Volume vun Prouf ass oft ganz grouss, an extra Donnéeën ass eigentlech Schiermer. Den Haapt Saach - zu Figur eraus, wat Dir e Resultat ze kréien wëllen: vun all Leit mat enger Lëscht vun hirem Besëtz sinn oder de ganze Besëtz Lëscht mat hire Besëtzer (wann iwwerhaapt).

Lénks anzeschreiwen - déi typesch Gebrauch vun Feeler: ufroen richteg ass wann d'Konditiounen am Wou Kader

Déi zweet Feeler ass och mat Verloscht vun Date verbonnen, a si net ëmmer direkt visuell.

Loosst d'dem Paieziedel zerëck wou mir via Verbindungen lénks d'Leit scho Daten fir all an hir bestehend Propriétéit. Erënneren folgend mat lénks SQL Beispill anzeschreiwen:

AUS Peoples LENKS JOIN Realty_peoples ON Peoples.id = Realty_peoples.id_peoples;

Ugeholl mir wëllen d'Demande ze klären an net bei d'Donnéeën, wou de Zort Gesetz - "Property". Wa mir einfach append, lénks mat anzeschreiwen SQL, e Beispill vun de folgenden Konditioun:

...

Wou Typ <> "Property"

mir wäerten d'Donnéeën iwwert Leit verléieren déi kee Verméigen hunn, well déi automatesch Wäert NULL net wéi follegt Verglach ass:

Query1

ID

L_name

F_name

Middle_name

Gebuertsdag

id_realty

Typ

5

Gerasimovsky

hoffen

P.

14.03.1992

4

gemeinsam Deeler

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

gemeinsam Deeler

7

Sukhanovskaya

Jury

A.

09/25/1976

3

Ganzen gemeinsame Proprietairen

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Ganzen gemeinsame Proprietairen

Fir Feeler vu vir fir dës Grond verhënneren, ass et am beschten d'Auswiel Conditioun direkt op Verbindung ze setzen. Mir proposéiere dëse mat der rietser anzeschreiwen SQL Beispill ze betruecht.

Beruflecher kennegeléiert. *, Realty_peoples.id_realty, Realty_peoples.type

AUS Peoples

LENKS JOIN Realty_peoples ON (Peoples.id = Realty_peoples.id_peoples AN Typ <> "Property")

D'Resultat wäert wéi follegt:

Query1

ID

L_name

F_name

Middle_name

Gebuertsdag

id_realty

Typ

1

IVANOVA IVANOVA

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

4

Annina

Léift

P.

31.12.1989

5

Gerasimovsky

hoffen

P.

14.03.1992

4

gemeinsam Deeler

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

gemeinsam Deeler

7

Sukhanovskaya

Jury

A.

09/25/1976

3

Ganzen gemeinsame Proprietairen

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Ganzen gemeinsame Proprietairen

Also, déi einfach folgende zu lénks SQL Beispill anzeschreiwen kruten mer eng Lëscht vun all de Leit, Plënneren weider, eent vun dësen Eegeschaften an engem EQUITY / gemeinsame Proprietairen.

Als Konklusioun géif ech gären nach eng Kéier ze betounen datt eng Prouf vun all Informatioun aus der Datebank Verantwortung geholl gin brauchen. Vill Nuancen virun eis mat lénks mat SQL einfacht Beispill opgemaach, d'Erklärung vun deenen eent - ier Dir fänken och Basis Paieziedel ze schreiwen, musst Dir virsiichteg ze verstoen wat mir am Enn ze kréien wëllt. Vill Gléck!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 lb.delachieve.com. Theme powered by WordPress.