KwamfutocinShirye-shirye

Hagu shiga (SQL) - misali, da cikakken bayanin, da yin amfani da kuskure

A wani real zumunci database, duk bayanai da aka rarraba a kan wani raba tebur. Mutane da yawa daga cikin Tables an saita kawo a cikin sadarwar makirci tare da juna. Duk da haka, tare da taimakon SQL queries shi ne quite yiwu ga sa a mahada tsakanin data, ba saka a cikin kewaye. Wannan ne yake aikata ta hanyar aikata wani shiga connection, wanda ba ka damar gina dangantaka tsakanin wani yawan Tables, kuma ko da gama alama disparate bayanai.

Wannan talifin zai yi magana musamman game da hagu m shiga. Kafin a ci gaba da bayanin irin wannan connection, ƙara a wasu database Tables.

Shirya zama dole alluna

Alal misali, a cikin database, akwai bayanai game da mutane da dukiya. Takaitacciyar bisa uku Tables: Peoples (mutane), Realty (dukiya), Realty_peoples (tebur dangantaka, mutanen da suka daga abin da dukiya nasa). Zaton da wadannan bayanai da aka adana a cikin alluna na mutane:

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

son

P.

31.12.1989

5

Gerasimovsky

fatan

P.

14.03.1992

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

7

Sukhanovskaya

juri

A.

09/25/1976

8

Sukhanovskaya

Julia

Y.

01.10.2001

Real Estate:

Realty

id

adireshin

1

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

2

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

3

Arkhangelsk yankin, Severodvinsk, st. Lenin, d. 134, q. 85

4

Arkhangelsk yankin, Novodvinsk, ul. Proletarshaya, d. 16, q. 137

5

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

Relations mutane - dukiya:

Realty_peoples

id_peoples

id_realty

irin

7

3

Total hadin gwiwa ikon mallakar

8

3

Total hadin gwiwa ikon mallakar

3

5

dukiya

7

1

dukiya

5

4

Common sassa

6

4

Common sassa

Hagu shiga (SQL) - Description

Hagu fili yana da wadannan ginin kalma:

Table_A hagu JOIN table_B [{ON predicate} | {YIN AMFANI spisok_ da tolbtsov}]

Kuma schematically kamar haka:

Kuma wannan magana da aka fassara a matsayin "Select All, ba tare da togiya, line na Table A da Table B nuna kawai daidai da layuka na predicate. Idan tebur da aka samu a cikin kirtani tebur domin nau'i-nau'i A, sa'an nan cika sakamakon ginshikan Mara doka - dabi'u ".

Mafi sau da yawa, a lokacin da ya bar connection yana nuna ON, ta amfani da ake amfani kawai idan da shafi sunayen, wanda aka shirya yi dangane ne guda.

Hagu shiga - misalai na amfani

Tare da connection na hagu za mu iya gani, duk da mutane daga cikin jerin idan akwai Peoples dukiya. Don yin wannan, a hagu shiga SQL tambaya misali:

Zabi Peoples. *, Realty_peoples.id_realty, Realty_peoples.type

DAGA Peoples hagu JOIN Realty_peoples ON Peoples.id = Realty_peoples.id_peoples.

Tare da wadannan sakamakon:

Query1

id

L_name

F_name

Middle_name

birthday

id_realty

irin

1

Ivanova

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

5

dukiya

4

Annina

son

P.

31.12.1989

5

Gerasimovsky

fatan

P.

14.03.1992

4

Common sassa

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

Common sassa

7

Sukhanovskaya

juri

A.

09/25/1976

1

dukiya

7

Sukhanovskaya

juri

A.

09/25/1976

3

Total hadin gwiwa ikon mallakar

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total hadin gwiwa ikon mallakar

Kamar yadda muka gani, Ivanova Darya Pugin Vladislav da Anninoy Lyubovi Babu rajista dukiya hakkin.

Kuma abin da zai muka samu, ta yin amfani da wani ciki shiga Inner shiga? Kamar yadda ka sani, shi zame ba-daidai da layuka, don haka uku daga mu karshe samfurin zai kawai a kika aika:

Query1

id

L_name

F_name

Middle_name

birthday

id_realty

irin

3

Evgenin

Alexander

Federovich

04/30/1964

5

dukiya

5

Gerasimovsky

fatan

P.

14.03.1992

4

Common sassa

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

Common sassa

7

Sukhanovskaya

juri

A.

09/25/1976

1

dukiya

7

Sukhanovskaya

juri

A.

09/25/1976

3

Total hadin gwiwa ikon mallakar

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total hadin gwiwa ikon mallakar

Zai ze cewa na biyu version ma ya gana da yanayin mu da matsala. Duk da haka, idan muka fara don hašawa a kan sãshe, kuma wani tebur, mutane uku daga cikin sakamakon riga irretrievably tafi. Saboda haka, a yi, a lokacin da hada mahara alluna fiye da sau da yawa amfani Hagu da Dama dangane fiye da Inner shiga.

Zai ci gaba da duba zuwa hagu shiga SQL misalai. A Makala tebur da adiresoshin na gidajenmu:

Zabi Peoples. *, Realty_peoples.id_realty, Realty_peoples.type, Realty.address

DAGA Peoples

Hagu JOIN Realty_peoples ON Peoples.id = Realty_peoples.id_peoples

Hagu JOIN Realty ON Realty.id = Realty_peoples.id_realty

Yanzu muna samun ba kawai wani nau'i ne na shari'a, amma kuma da adireshin dukiya:

Query1

id

L_name

F_name

Middle_name

birthday

id_realty

irin

adireshin

1

Ivanova

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

5

dukiya

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

4

Annina

son

P.

31.12.1989

5

Gerasimovsky

fatan

P.

14.03.1992

4

Common sassa

Arkhangelsk yankin, Novodvinsk, ul. Proletarshaya, d. 16, q. 137

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

Common sassa

Arkhangelsk yankin, Novodvinsk, ul. Proletarshaya, d. 16, q. 137

7

Sukhanovskaya

juri

A.

09/25/1976

3

Total hadin gwiwa ikon mallakar

Arkhangelsk yankin, Severodvinsk, st. Lenin, d. 134, q. 85

7

Sukhanovskaya

juri

A.

09/25/1976

1

dukiya

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

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total hadin gwiwa ikon mallakar

Arkhangelsk yankin, Severodvinsk, st. Lenin, d. 134, q. 85

Hagu shiga - hankula amfani da kuskure: mara inganci hanya tebur

Basic kuskure sanya a hagu m shiga Tables, biyu:

  1. Daidai zaba cikin tsari na Tables ga wanda data aka rasa.
  2. Ina kurakurai lokacin amfani da query da shiga Tables.

La'akari da farko kuskure. Kafin da hukuncin wani matsala da ya kamata a fili gane cewa abin da muke so don samun a karshen. A wannan misali a sama, za mu dauki kowane daya daya daga cikin mutane, amma gaba daya rasa da bayanai game da abu a karkashin lambar 2, wanda mai shi aka iske ba.

Idan muka koma cikin alluna a cikin wata tambaya a wasu wurare, da kuma za a fara da «... Daga Realty bar shiga Peoples ...» kowane daya dukiya, dã ba mu yi hasara, ba za ka gaya game da mutane.

Amma kada ku kasance firgita daga hagu connection, canzawa zuwa cikakken waje, wanda aka kunshe a cikin sakamakon da matching, kuma ba iri daya Lines.

Bayan duk, ƙara da samfurin ne sau da yawa sosai manyan, da kuma karin data shi ne ainihin m. Babban abu - don gane abin da ka so don samun sakamakon: dukkan mutane tare da wani jerin su akwai dukiya, ko da dukan dukiya da jerin tare da su masu (idan wani).

Hagu shiga - hankula amfani da kuskure: Request daidai ne a lokacin da kafa da yanayi a cikin Inda

Na biyu kuskure ne kuma hade tare da asarar data, kuma ba ko da yaushe nan da nan ya bayyana.

Bari mu koma ga tambaya a lokacin da muka bar via sadarwa samu data domin dukan mutanen da su data kasance dukiya. Ka tuna da wadannan tare da hagu shiga SQL misali:

DAGA Peoples hagu JOIN Realty_peoples ON Peoples.id = Realty_peoples.id_peoples.

Misali muna so mu bayyana bukatar, kuma ya aikata ba fitarwa da bayanai, inda da irin dokar - "Property". Idan muka kawai jimlar, ta amfani bar shiga SQL, wani misali daga cikin wadannan yanayin:

...

Inda irin <> "Property"

za mu rasa da bayanai a kan mutanen da basu da dukiya, saboda null darajar Mara doka ba idan aka kwatanta kamar haka:

Query1

id

L_name

F_name

Middle_name

birthday

id_realty

irin

5

Gerasimovsky

fatan

P.

14.03.1992

4

Common sassa

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

Common sassa

7

Sukhanovskaya

juri

A.

09/25/1976

3

Total hadin gwiwa ikon mallakar

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total hadin gwiwa ikon mallakar

Don hana kurakurai daga abin da ke faruwa ga wannan dalili, shi ne mafi kyau ga kafa zabin yanayin nan da nan bisa connection. Mun bayar da shawarar a yi la'akari da wadannan tare da hagu shiga SQL misali.

Zabi Peoples. *, Realty_peoples.id_realty, Realty_peoples.type

DAGA Peoples

Hagu JOIN Realty_peoples ON (Peoples.id = Realty_peoples.id_peoples AND irin <> "Property")

A sakamakon zai zama kamar haka:

Query1

id

L_name

F_name

Middle_name

birthday

id_realty

irin

1

Ivanova

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

4

Annina

son

P.

31.12.1989

5

Gerasimovsky

fatan

P.

14.03.1992

4

Common sassa

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

Common sassa

7

Sukhanovskaya

juri

A.

09/25/1976

3

Total hadin gwiwa ikon mallakar

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total hadin gwiwa ikon mallakar

Saboda haka, da wadannan da sauki to hagu shiga SQL misali, mun samu wani jerin dukan mutane, motsi kara, daya daga cikin wadannan kaddarorin, a wani ãdalci / hadin gwiwa ikon mallakar.

Kamar yadda a ƙarshe Ina son in jaddada sake cewa wani samfuri na duk wani bayani daga cikin database bukatar da za a dauka responsibly. Mutane da yawa nuances bude a gaban mu da hagu shiga SQL sauki misali, da bayani na wanda daya - kafin ka fara rubuta ko da asali tambaya, dole ne ka a hankali don gane da abin da muke so don samun a karshen. Good luck!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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