KomputerProgramming

Ngiwa nggabungake (SQL) - conto, gambaran rinci, nggunakake kesalahan

Ing sembarang database hubungan nyata, kabeh informasi disebarake ing Tabel kapisah. Akeh tabel sing kasebut ing rencana komunikasi karo saben liyane. Nanging, karo bantuan saka SQL pitakon iku cukup bisa kanggo nyelehake link antarane data, ora ditempelake ing sirkuit. Iki wis rampung dening Performing sambungan nggabungake, sing ngijini sampeyan kanggo mbangun sesambetan antarane sing nomer tabel, lan malah nyambung informasi ketoke disparate.

Artikel iki bakal pirembagan khusus bab njaba kiwa nggabungake. Sadurunge nerusake kanggo gambaran saka jinis sambungan, nambah ing sawetara database.

Nyiyapake ing tabel perlu

Contone, ing database kita, ana informasi bab wong lan real estate sing. Summary adhedhasar telung tabel: Peoples (wong), Realty (real estate), Realty_peoples (sesambetan meja, wong sing saka apa property belongs kanggo). Nganggep Data iki disimpen ing tabel iki menawa saka wong:

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

tresna

P.

31.12.1989

5

Gerasimovsky

Mugi

P.

14.03.1992

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

7

Sukhanovskaya

hakim

A.

09/25/1976

8

Sukhanovskaya

Julia

Y.

01.10.2001

Real Estate:

Realty

id

alamat

1

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

2

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

3

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

4

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

5

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

Relations wong - properti:

Realty_peoples

id_peoples

id_realty

jinis

7

3

Total kepemilikan peserta

8

3

Total kepemilikan peserta

3

5

property

7

1

property

5

4

bagean umum

6

4

bagean umum

Ngiwa nggabungake (SQL) - katrangan

senyawa kiwa nduweni ukara ing ngisor iki:

Table_A kiwa NGGABUNGA table_B [{ON predikat} | {USING spisok_ karo tolbtsov}]

Lan schematically minangka nderek:

Lan expression iki minangka "Pilih Kabeh, tanpa istiméwa, baris saka Tabel A lan Table B ngatonake larik cocog predikat ing. Yen meja iki dipunpanggihi ing tabel senar pasangan A, banjur isi kolom asil Null - nilai ".

Paling asring, nalika sambungan kiwa dituduhake ON, nggunakake digunakake mung nalika jeneng asli, kang ngrancang kanggo nggawe sambungan sing padha.

Ngiwa nggabungake - conto panggunaan

Kanthi sambungan saka kiwa kita bisa ndeleng, kabeh wong saka dhaftar yen ana property Peoples. Kanggo nindakake iki ing kiwa nggabungake dba conto query:

Peoples Pilih. *, Realty_peoples.id_realty, Realty_peoples.type

Saka Peoples kiwa NGGABUNGA Realty_peoples ON Peoples.id = Realty_peoples.id_peoples;

Kanthi asil ing ngisor iki:

Query1

id

L_name

F_name

Middle_name

Birthday

id_realty

jinis

1

Ivanova

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

5

property

4

Annina

tresna

P.

31.12.1989

5

Gerasimovsky

Mugi

P.

14.03.1992

4

bagean umum

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

bagean umum

7

Sukhanovskaya

hakim

A.

09/25/1976

1

property

7

Sukhanovskaya

hakim

A.

09/25/1976

3

Total kepemilikan peserta

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total kepemilikan peserta

Kita waca, Ivanova Darya Pugin Vladislav lan Anninoy Lyubovi Ora kedhaftar hak real estate.

Lan apa kang bakal kita wis ditampa, nggunakake gabung utama Inner nggabungake? Sing ngerti, iku sastra suluk larik non-cocog, supaya telu metu saka sampel final kita bakal mung dropped:

Query1

id

L_name

F_name

Middle_name

Birthday

id_realty

jinis

3

Evgenin

Alexander

Federovich

04/30/1964

5

property

5

Gerasimovsky

Mugi

P.

14.03.1992

4

bagean umum

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

bagean umum

7

Sukhanovskaya

hakim

A.

09/25/1976

1

property

7

Sukhanovskaya

hakim

A.

09/25/1976

3

Total kepemilikan peserta

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total kepemilikan peserta

Punika badhe koyone sing versi liya uga meets kondisi kita masalah. Nanging, yen kita wiwiti masang ing liyane, lan meja liyane, wong telu saka asil wis rapopo musna. Mulane, ing laku, nalika nggabungke kaping tabel luwih kerep digunakake Kiri lan tengen sambungan saka Inner nggabungake.

Bakal terus kanggo katon ing sisih kiwa nggabungake conto dba. Pasang Tabel karo alamat omah kita:

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

saka Peoples

KIRI NGGABUNGA Realty_peoples ON Peoples.id = Realty_peoples.id_peoples

KIRI NGGABUNGA Realty ON Realty.id = Realty_peoples.id_realty

Saiki kita njaluk ora mung ukum, nanging uga alamat real estate:

Query1

id

L_name

F_name

Middle_name

Birthday

id_realty

jinis

alamat

1

Ivanova

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

5

property

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

4

Annina

tresna

P.

31.12.1989

5

Gerasimovsky

Mugi

P.

14.03.1992

4

bagean umum

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

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

bagean umum

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

7

Sukhanovskaya

hakim

A.

09/25/1976

3

Total kepemilikan peserta

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

7

Sukhanovskaya

hakim

A.

09/25/1976

1

property

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

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total kepemilikan peserta

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

Ngiwa nggabungake - nggunakake khas kesalahan: Tabel prosedur bener

kesalahane dhasar digawe ing njaba kiwa nggabungake tabel, loro:

  1. Bener milih urutan tabel sing data ilang.
  2. Where kasalahan nalika penjaluk karo nggabungake tabel.

Coba kesalahan pisanan. Sadurunge kaputusan saka masalah kudu cetha mangertos sing apa kita arep njaluk ing mburi. Ing conto iki ndhuwur, kita njupuk saben siji saka wong, nanging rampung ilang informasi bab obyek ing nomer 2, kang pemilik ora ketemu.

Yen kita pindhah ing tabel ing query ing sawetara panggonan, lan bakal miwiti karo «... From Realty kiwa nggabungake Peoples ...» sembarang siji kagungan, mesthi aku ora padha ilang, sampeyan ora ngomong bab wong.

Nanging ora dadi wedi saka sambungan kiwa, ngalih menyang lengkap external, kang kalebu ing asil lan cocog, lan ora ing garis cocog.

Sawise kabeh, ing volume saka sampel asring banget gedhe, lan data liyane iku bener ora ana guna. Wangsulan: Bab ingkang utama - kanggo tokoh metu apa sing pengin njaluk asil: kabeh wong karo dhaptar property kasedhiya utawa ing dhaftar kagungan kabeh karo sing nduweni (yen).

Ngiwa nggabungake - nggunakake khas kesalahan: Request iku bener nalika nyetel kahanan ing Endi

Kesalahan liya uga digandhengake karo mundhut saka data, lan ora tansah langsung nyoto.

Ayo padha bali menyang query menawi ngiwa liwat sambungan ditampa data kanggo kabeh wong lan bisa ana sing. Elingi ing ngisor iki karo kiwa nggabungake conto dba:

Saka Peoples kiwa NGGABUNGA Realty_peoples ON Peoples.id = Realty_peoples.id_peoples;

Upaminipun kita pengin njlentrehake request lan ora output data, ngendi jinis hukum - "Property". Yen kita mung append, nggunakake kiwa nggabungake dba, conto kawontenan ing ngisor iki:

...

Where jinis <> "Property"

kita bakal kelangan data ing wong sing ora duwe properti, amarga Nilai null Null ora dibandhingake minangka nderek:

Query1

id

L_name

F_name

Middle_name

Birthday

id_realty

jinis

5

Gerasimovsky

Mugi

P.

14.03.1992

4

bagean umum

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

bagean umum

7

Sukhanovskaya

hakim

A.

09/25/1976

3

Total kepemilikan peserta

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total kepemilikan peserta

Kanggo nyegah kasalahan saka kedadean iki alesan, iku paling apik kanggo nyetel kawontenan pilihan langsung marang sambungan. We suggest kanggo nimbang ing ngisor iki karo kiwa nggabungake conto dba.

Peoples Pilih. *, Realty_peoples.id_realty, Realty_peoples.type

saka Peoples

KIRI NGGABUNGA Realty_peoples ON (Peoples.id = Realty_peoples.id_peoples lan jinis <> "Property")

Asil bakal minangka nderek:

Query1

id

L_name

F_name

Middle_name

Birthday

id_realty

jinis

1

Ivanova

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

4

Annina

tresna

P.

31.12.1989

5

Gerasimovsky

Mugi

P.

14.03.1992

4

bagean umum

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

bagean umum

7

Sukhanovskaya

hakim

A.

09/25/1976

3

Total kepemilikan peserta

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total kepemilikan peserta

Mangkono, dening iki prasaja ngiwa nggabungake conto dba, aku nampa dhaptar kabeh wong, obah luwih, siji saka situs iki ing usaha / kepemilikan peserta.

Minangka kesimpulan aku kaya kanggo nandheske maneh sing sampel samubarang informasi saka basis data mau kudu dijupuk tanggung jawab. Akeh nuansa kabuka ing ngarep kita karo kiwa nggabungake conto prasaja dba, panjelasan kang siji - sadurunge miwiti kanggo nulis pitakonan dhasar, sampeyan kudu kasebut kanthi teliti, mangertos apa kita arep njaluk ing mburi. Good luck!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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