KompjutersIpprogrammar

Xellug jissieħbu (SQL) - eżempju, id-deskrizzjoni dettaljata, l-użu ta 'l-iżball

Fi kwalunkwe database relazzjonali reali, l-informazzjoni kollha hija mqassma fuq mejda separata. Ħafna mill-tabelli huma stabbiliti fl-iskema komunikazzjoni ma 'xulxin. Madankollu, bl-għajnuna ta SQL mistoqsijiet huwa kompletament possibbli li tpoġġi link bejn id-data, mhux integrati fiċ-ċirkwit. Dan isir billi jwettqu jissieħbu konnessjoni, li tippermetti li inti tibni relazzjoni bejn kwalunkwe numru ta 'tabelli, u anki jgħaqqdu l-informazzjoni apparentement diverġenti.

Dan l-artikolu se jitkellmu speċifikament dwar il-barra xellug jissieħbu. Qabel ma tipproċedi għad-deskrizzjoni ta 'dan it-tip ta' konnessjoni, żid f'xi tabelli database.

Tħejjija għall-tabelli meħtieġa

Per eżempju, fid-database tagħna, hemm informazzjoni dwar in-nies u proprjetà immobbli tagħhom. Sommarju bażat fuq it-tliet tabelli: Peoples (persuni), Realty (proprjetà immobbli), Realty_peoples (relazzjonijiet mejda, nies li minn liema proprjetà jappartjeni għal). Assumi-data li ġejja maħżuna fit-tabelli tal-poplu:

popli

id

L_name

F_name

Middle_name

birthday

1

Ivanova

Daria

B.

2000/07/16

2

pugin

Vladislav

Nikolaevich

1986/01/29

3

Evgenin

Alexander

Federovich

1964/04/30

4

Annina

imħabba

P.

1989/12/31

5

Gerasimovsky

tama

P.

1992/03/14

6

Gerasimovsky

Oleg

Albertovich

1985/01/29

7

Sukhanovskaya

ġurija

A.

1976/09/25

8

Sukhanovskaya

Julia

Y.

2001/01/10

Proprjetà immobbli:

Realty

id

indirizz

1

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

2

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

3

reġjun Arkhangelsk, Severodvinsk, st. Lenin, d. 134, q. 85

4

reġjun Arkhangelsk, Novodvinsk, ul. Proletarshaya, d. 16, q. 137

5

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

Relazzjonijiet nies - proprjetà:

Realty_peoples

id_peoples

id_realty

tip

7

3

sjieda konġunta Totali

8

3

sjieda konġunta Totali

3

5

proprjetà

7

1

proprjetà

5

4

partijiet komuni

6

4

partijiet komuni

Xellug jissieħbu (SQL) - Deskrizzjoni

kompost Xellug għandha l-sintassi li ġej:

Table_A XELLUG JOIN table_B [{FUQ relattivi} | {JUŻA spisok_ ma tolbtsov}]

U b'mod skematiku kif ġej:

U din l-espressjoni hija tradotta bħala "Select All, mingħajr eċċezzjoni, linja tat-Tabella A u Tabella B li juru biss l-ringieli tqabbil ta 'l-relattivi. Jekk it-tabella nstab fit-tabella sekwenza għall-pari A, imbagħad timla l-kolonni li jirriżultaw Null - valuri ".

Ħafna drabi, meta l-konnessjoni xellug huwa indikat FUQ, bl-użu tintuża biss meta l-ismijiet kolonna, li huwa ppjanat li jagħmlu l-konnessjoni huma l-istess.

jissieħbu Xellug - eżempji ta 'użu

Mal-konnessjoni ta 'l-xellug nistgħu naraw, il-poplu kollu mil-lista jekk ikun hemm Popli proprjetà. Biex tagħmel dan fil-xellug jingħaqdu eżempju mistoqsija sql:

Popli TAGĦŻEL. *, Realty_peoples.id_realty, Realty_peoples.type

MILL Popli XELLUG JOIN Realty_peoples FUQ Peoples.id = Realty_peoples.id_peoples;

Bir-riżultati li ġejjin:

Query1

id

L_name

F_name

Middle_name

birthday

id_realty

tip

1

Ivanova

Daria

B.

2000/07/16

2

pugin

Vladislav

Nikolaevich

1986/01/29

3

Evgenin

Alexander

Federovich

1964/04/30

5

proprjetà

4

Annina

imħabba

P.

1989/12/31

5

Gerasimovsky

tama

P.

1992/03/14

4

partijiet komuni

6

Gerasimovsky

Oleg

Albertovich

1985/01/29

4

partijiet komuni

7

Sukhanovskaya

ġurija

A.

1976/09/25

1

proprjetà

7

Sukhanovskaya

ġurija

A.

1976/09/25

3

sjieda konġunta Totali

8

Sukhanovskaya

Julia

Y.

2001/01/10

3

sjieda konġunta Totali

Kif naraw, Ivanova Darya pugin Vladislav u Anninoy Lyubovi Nru reġistrati drittijiet tal-proprjetà immobbli.

U dak li aħna rċevejna, bl-użu ta 'ġewwa jissieħbu ġewwa jissieħbu? Kif tafu, dan jeskludi ringieli li ma jaqblux, hekk tlieta minn kampjun finali tagħna sempliċiment jitwaqqa:

Query1

id

L_name

F_name

Middle_name

birthday

id_realty

tip

3

Evgenin

Alexander

Federovich

1964/04/30

5

proprjetà

5

Gerasimovsky

tama

P.

1992/03/14

4

partijiet komuni

6

Gerasimovsky

Oleg

Albertovich

1985/01/29

4

partijiet komuni

7

Sukhanovskaya

ġurija

A.

1976/09/25

1

proprjetà

7

Sukhanovskaya

ġurija

A.

1976/09/25

3

sjieda konġunta Totali

8

Sukhanovskaya

Julia

Y.

2001/01/10

3

sjieda konġunta Totali

Jidher li t-tieni verżjoni jissodisfa wkoll il-kundizzjonijiet tal-problema tagħna. Madankollu, jekk aħna jibdew jagħtu fuq ieħor, u ieħor tabella, tliet persuni mill-riżultat diġà irrimedjabbilment marret. Għalhekk, fil-prattika, meta tgħaqqad tabelli multipli ħafna aktar spiss użati Xellug u Dritt konnessjoni minn ġewwa jissieħbu.

Se tkompli tfittex lejn ix-xellug jissieħbu eżempji sql. Waħħal tabella bl-indirizzi ta 'djar tagħna:

Popli TAGĦŻEL. *, Realty_peoples.id_realty, Realty_peoples.type, Realty.address

MILL Popli

XELLUG JOIN Realty_peoples FUQ Peoples.id = Realty_peoples.id_peoples

XELLUG JOIN Realty FUQ Realty.id = Realty_peoples.id_realty

Issa irridu jiksbu mhux biss tip ta 'liġi, iżda wkoll l-indirizz ta' proprjetà immobbli:

Query1

id

L_name

F_name

Middle_name

birthday

id_realty

tip

indirizz

1

Ivanova

Daria

B.

2000/07/16

2

pugin

Vladislav

Nikolaevich

1986/01/29

3

Evgenin

Alexander

Federovich

1964/04/30

5

proprjetà

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

4

Annina

imħabba

P.

1989/12/31

5

Gerasimovsky

tama

P.

1992/03/14

4

partijiet komuni

reġjun Arkhangelsk, Novodvinsk, ul. Proletarshaya, d. 16, q. 137

6

Gerasimovsky

Oleg

Albertovich

1985/01/29

4

partijiet komuni

reġjun Arkhangelsk, Novodvinsk, ul. Proletarshaya, d. 16, q. 137

7

Sukhanovskaya

ġurija

A.

1976/09/25

3

sjieda konġunta Totali

reġjun Arkhangelsk, Severodvinsk, st. Lenin, d. 134, q. 85

7

Sukhanovskaya

ġurija

A.

1976/09/25

1

proprjetà

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

8

Sukhanovskaya

Julia

Y.

2001/01/10

3

sjieda konġunta Totali

reġjun Arkhangelsk, Severodvinsk, st. Lenin, d. 134, q. 85

jissieħbu Xellug - l-użu tipiku ta 'żball: tabella proċedura invalida

żbalji bażiċi li saru fil-barra tax-xellug jissieħbu tabelli, tnejn:

  1. Korrett magħżula l-ordni ta 'tabelli li għalih data kienet mitlufa.
  2. Fejn l-iżbalji meta jużaw query bil jissieħbu tabelli.

Ikkunsidra l-ewwel żball. Qabel id-deċiżjoni ta 'kwalunkwe problema għandha tinftiehem b'mod ċar li dak li aħna rridu nġibu fl-aħħar. F'dan l-eżempju ta 'hawn fuq, ħadna kull wieħed mill-persuni, iżda kompletament tilfu l-informazzjoni dwar l-oġġett taħt in-numru 2, li l-proprjetarju ma nstabx.

Jekk aħna mċaqalqa-tabelli fil-mistoqsija f'xi postijiet, u jibdew bl «... Mill Realty xellug jissieħbu Popli ...» kwalunkwe proprjetà waħda, aħna ma tilfu, inti mhux ser jgħidlek dwar nies.

Imma ma jkun frightened tal-konnessjoni tax-xellug, jaqilbu għal full esterna, li hija inkluża fir-riżultati u t-tqabbil, u mhux il-linji tqabbil.

Wara kollox, il-volum tal-kampjun huwa ta 'spiss kbar ħafna, u data addizzjonali huwa attwalment inutli. Il-ħaġa prinċipali - li ċifra barra dak li trid li tikseb riżultat: tan-nies kollha ma 'lista ta' proprjetà disponibbli tagħhom jew il-lista propjetà kollha mal-proprjetarji tagħhom (jekk ikun hemm).

jissieħbu Xellug - l-użu tipiku ta 'żball: Talba hija korretta meta jistabbilixxu l-kundizzjonijiet fil-Fejn

It-tieni żball hija wkoll assoċjata ma 'telf ta' data, u mhux dejjem immedjatament apparenti.

Ejja ħa mmorru lura għall-mistoqsija meta aħna xellug permezz ta 'konnessjonijiet rċeviet dejta għall-persuni kollha u l-proprjetà eżistenti tagħhom. Ftakar dan li ġej fir xellug jingħaqdu eżempju sql:

MILL Popli XELLUG JOIN Realty_peoples FUQ Peoples.id = Realty_peoples.id_peoples;

Ejja ngħidu li rridu biex tiċċara t-talba u ma output id-data, fejn it-tip ta 'liġi - "Proprjetà". Jekk aħna sempliċiment tehmeż, jużaw xellug jissieħbu sql, eżempju tal-kundizzjoni li ġejja:

...

Fejn it-tip <> "Proprjetà"

aħna se jitilfu d-dejta dwar persuni li m'għandhom ebda proprjetà, minħabba li l-Null valur null mhuwiex mqabbla kif ġej:

Query1

id

L_name

F_name

Middle_name

birthday

id_realty

tip

5

Gerasimovsky

tama

P.

1992/03/14

4

partijiet komuni

6

Gerasimovsky

Oleg

Albertovich

1985/01/29

4

partijiet komuni

7

Sukhanovskaya

ġurija

A.

1976/09/25

3

sjieda konġunta Totali

8

Sukhanovskaya

Julia

Y.

2001/01/10

3

sjieda konġunta Totali

Evita l-iżbalji milli jseħħu għal din ir-raġuni, huwa aħjar li jiġu stabbiliti l-kundizzjoni għażla immedjatament malli konnessjoni. Nissuġġerixxu li jikkunsidraw dan li ġej mal-xellug jissieħbu eżempju sql.

Popli TAGĦŻEL. *, Realty_peoples.id_realty, Realty_peoples.type

MILL Popli

XELLUG JOIN Realty_peoples FUQ (Peoples.id = Realty_peoples.id_peoples U tip <> "Proprjetà")

Ir-riżultat se jkun kif ġej:

Query1

id

L_name

F_name

Middle_name

birthday

id_realty

tip

1

Ivanova

Daria

B.

2000/07/16

2

pugin

Vladislav

Nikolaevich

1986/01/29

3

Evgenin

Alexander

Federovich

1964/04/30

4

Annina

imħabba

P.

1989/12/31

5

Gerasimovsky

tama

P.

1992/03/14

4

partijiet komuni

6

Gerasimovsky

Oleg

Albertovich

1985/01/29

4

partijiet komuni

7

Sukhanovskaya

ġurija

A.

1976/09/25

3

sjieda konġunta Totali

8

Sukhanovskaya

Julia

Y.

2001/01/10

3

sjieda konġunta Totali

Għalhekk, billi ssegwi l-sempliċi lejn ix-xellug jissieħbu eżempju sql, irċevejna lista tal-persuni kollha, li jiċċaqalqu aktar, waħda minn dawn il-proprjetajiet fi ekwità / sjieda konġunta.

Bħala konklużjoni nixtieq li jkun enfasizzat għal darb'oħra li kampjun ta 'kwalunkwe informazzjoni mid-database jeħtieġ li jittieħdu b'mod responsabbli. Ħafna sfumaturi miftuħa quddiemna ma xellug jissieħbu eżempju sempliċi sql, l-ispjegazzjoni li minnhom waħda - qabel ma tibda tikteb anke mistoqsija bażika, trid b'attenzjoni biex jifhem dak li rridu nġibu fl-aħħar. Xorti tajba!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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