KomputerProgramming

Kénca gabung (SQL) - conto, anu jentre, ngamangpaatkeun kasalahan

Dina sagala database relational nyata, kabeh informasi anu disebarkeun dina tabel misah. Loba tabel nu diatur dina skéma komunikasi saling. Sanajan kitu, kalayan bantuan SQL queries éta rada mungkin nempatkeun tumbu antara data, teu study dina sirkuit. Hal ieu dilakukeun ku ngajalankeun sambungan gabung, nu ngidinan Anjeun pikeun ngawangun hubungan antara sagala Jumlah tabel, komo nyambung informasi sahingga bisa hirup kalawan disparate.

artikel ieu bakal ngobrol husus ngeunaan luar kénca gabung. Sateuacan lajengkeun kana pedaran tipe ieu sambungan, nambahan sababaraha tabel databés.

Nyiapkeun tabél perlu

Contona, dina database urang, aya informasi ngeunaan jalma jeung real estate maranéhanana. Kasimpulan dumasar kana tilu tabel: bangsa (urang), Realty (real estate), Realty_peoples (hubungan tabel, jalma anu ti naon harta milik). Nganggap data di handap disimpen dina tabél di urang:

bangsa

id

L_name

F_name

Middle_name

tepang warsi

1

Ivanova

daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

4

Annina

bogoh

P.

31.12.1989

5

Gerasimovsky

harepan

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

alamat

1

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

2

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

3

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

4

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

5

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

Hubungan urang - sipat:

Realty_peoples

id_peoples

id_realty

ngetik

7

3

Total kapamilikan gabungan

8

3

Total kapamilikan gabungan

3

5

harta

7

1

harta

5

4

bagian umum

6

4

bagian umum

Ditinggalkeun gabung (SQL) - Description

sanyawa ditinggalkeun boga rumpaka di handap ieu:

Table_A ditinggalkeun gabung table_B [{ON predikat} | {Maké spisok_ kalawan tolbtsov}]

Sarta schematically saperti kieu:

Jeung éksprési ieu ditarjamahkeun salaku "Pilih Sadaya, tanpa mahiwal, garis Table A jeung Table B pikeun nembongkeun mung barisan cocog ngeunaan predikat nu. Mun tabél ieu kapanggih dina tabel string keur pasang A, teras eusian kolom anu dihasilkeun hypothesis - nilai ".

Paling sering, nalika sambungan ditinggalkeun dituduhkeun ON, ngagunakeun ieu dipaké ukur nalika ngaran kolom, anu geus rencanana nyieun sambungan anu sarua.

Kénca gabung - conto pamakéan

Jeung sambungan tina kénca urang bisa ningali, sadaya jalma ti daftar lamun aya milik bangsa. Jang ngalampahkeun ieu kénca gabung SQL conto query:

Bangsa pilih. *, Realty_peoples.id_realty, Realty_peoples.type

FROM bangsa tinggaleun gabung Realty_peoples ON Peoples.id = Realty_peoples.id_peoples;

Kalawan hasil di handap:

Query1

id

L_name

F_name

Middle_name

tepang warsi

id_realty

ngetik

1

Ivanova

daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

5

harta

4

Annina

bogoh

P.

31.12.1989

5

Gerasimovsky

harepan

P.

14.03.1992

4

bagian umum

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

bagian umum

7

Sukhanovskaya

juri

A.

09/25/1976

1

harta

7

Sukhanovskaya

juri

A.

09/25/1976

3

Total kapamilikan gabungan

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total kapamilikan gabungan

Salaku urang tingali, Ivanova Darya Pugin Vladislav na Anninoy Lyubovi No didaptarkeun hak real estate.

Jeung naon bakal kami geus narima, maké gabung hiji jero Batin gabung? Anjeun terang, éta heunteu ngasupkeun barisan non-cocog, jadi tilu kaluar tina sampel final kami bakal saukur jadi turun:

Query1

id

L_name

F_name

Middle_name

tepang warsi

id_realty

ngetik

3

Evgenin

Alexander

Federovich

04/30/1964

5

harta

5

Gerasimovsky

harepan

P.

14.03.1992

4

bagian umum

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

bagian umum

7

Sukhanovskaya

juri

A.

09/25/1976

1

harta

7

Sukhanovskaya

juri

A.

09/25/1976

3

Total kapamilikan gabungan

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total kapamilikan gabungan

Ieu bakal sigana nu versi kadua ogé meets kaayaan masalah urang. Sanajan kitu, lamun urang ngawitan ngagantelkeun kana sejen, sarta méja sejen, tilu urang ti hasilna geus irretrievably Isro. Kituna, dina prakna, nalika ngagabungkeun sababaraha tabel leuwih mindeng dipaké Kénca jeung Katuhu sambungan ti Batin gabung.

Bakal neruskeun neuteup ka kénca gabung conto SQL. Ngagantelkeun hiji méja kalayan alamat imah urang:

Bangsa pilih. *, Realty_peoples.id_realty, Realty_peoples.type, Realty.address

FROM bangsa

Ditinggalkeun gabung Realty_peoples ON Peoples.id = Realty_peoples.id_peoples

Ditinggalkeun gabung Realty ON Realty.id = Realty_peoples.id_realty

Ayeuna urang meunang teu ukur jenis hukum, tapi ogé alamat tina real estate:

Query1

id

L_name

F_name

Middle_name

tepang warsi

id_realty

ngetik

alamat

1

Ivanova

daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

5

harta

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

4

Annina

bogoh

P.

31.12.1989

5

Gerasimovsky

harepan

P.

14.03.1992

4

bagian umum

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

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

bagian umum

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

7

Sukhanovskaya

juri

A.

09/25/1976

3

Total kapamilikan gabungan

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

7

Sukhanovskaya

juri

A.

09/25/1976

1

harta

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

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total kapamilikan gabungan

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

Kénca gabung - pamakéan has kasalahan: tabel prosedur sah

kasalahan dasar dijieun di luar kénca gabung tabel, dua:

  1. Neuleu dipilih Urutan tabel pikeun nu data ieu leungit.
  2. Dimana kasalahan nalika maké query kalawan gabung tabel.

Mertimbangkeun kasalahan munggaran. Saacanna putusan masalah sagala kudu jelas dipikaharti yén naon urang rék meunang di tungtungna. Dina conto ieu di luhur, urang nyandak unggal tunggal salah sahiji jalma, tapi lengkep leungit inpo ngeunaan objek dina jumlah 2, anu boga teu kapanggih.

Mun urang dipindahkeun tabél dina pamundut di sababaraha tempat, sarta bakal mimitian ku «... Ti Realty ditinggalkeun gabung bangsa ...» sagala salah milik, urang moal bakal leungit, anjeun moal nyaritakeun ngeunaan jalma.

Tapi teu jadi mamang tina sambungan kénca, pindah ka pinuh éksternal, nu geus kaasup dina hasil tur cocog, jeung moal ka garis cocog.

Barina ogé, volume sampel mangrupakeun sering kacida gedéna, sarta data tambahan sabenerna gunana. Hal utama - keur angka kaluar naon rék meunang hasilna: sadaya jalma kalawan daptar hak milik sadia maranéhanana atawa daptar harta sakabéh kalawan boga maranéhanana (lamun sagala).

Kénca gabung - pamakéan has kasalahan: Request bener lamun netepkeun kaayaan di mana nu

Kasalahan kadua ogé dikaitkeun kalayan rugi data, sarta henteu salawasna geuwat semu.

Hayu urang balik deui ka pamundut teh lamun urang tinggaleun via sambungan narima data pikeun sakabeh jalma jeung harta aya maranéhanana. Inget di handap kalawan kénca gabung conto SQL:

FROM bangsa tinggaleun gabung Realty_peoples ON Peoples.id = Realty_peoples.id_peoples;

Anggap we hayang netelakeun pamundut jeung henteu kaluaran data, dimana tipe hukum - "Harta". Mun urang ngan saukur append, ngagunakeun ditinggalkeun gabung SQL, conto kaayaan di handap:

...

Dimana tipe <> "Harta"

urang bakal leungit data dina jalma anu teu boga harta, sabab nilai null hypothesis henteu dibandingkeun saperti kieu:

Query1

id

L_name

F_name

Middle_name

tepang warsi

id_realty

ngetik

5

Gerasimovsky

harepan

P.

14.03.1992

4

bagian umum

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

bagian umum

7

Sukhanovskaya

juri

A.

09/25/1976

3

Total kapamilikan gabungan

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total kapamilikan gabungan

Pikeun nyegah kasalahan tina kajadian pikeun alesan ieu, éta pangalusna pikeun ngeset kaayaan Pilihan langsung kana sambungan. Urang ngasongkeun mertimbangkeun di handap kalawan kénca gabung conto SQL.

Bangsa pilih. *, Realty_peoples.id_realty, Realty_peoples.type

FROM bangsa

Ditinggalkeun gabung Realty_peoples ON (Peoples.id = Realty_peoples.id_peoples AND tipe <> "Harta")

hasilna bakal kieu:

Query1

id

L_name

F_name

Middle_name

tepang warsi

id_realty

ngetik

1

Ivanova

daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

4

Annina

bogoh

P.

31.12.1989

5

Gerasimovsky

harepan

P.

14.03.1992

4

bagian umum

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

bagian umum

7

Sukhanovskaya

juri

A.

09/25/1976

3

Total kapamilikan gabungan

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total kapamilikan gabungan

Ku kituna, ku nuturkeun basajan ka kénca gabung conto SQL, urang nampi daptar sakabeh jalma, pindah salajengna, salah sahiji pasipatan ieu dina equity / kapamilikan gabungan.

Salaku Kacindekan Abdi hoyong ngantebkeun sakali deui yen sampel sagala informasi ti pangkalan data perlu dicokot responsibly. Loba nuances dibuka di hareupeun rahayat kami kalawan kénca gabung conto basajan SQL, kieu nu salah - sateuacan Anjeun ngawitan nyerat malah query dasar, Anjeun kedah taliti ngartos naon urang rék meunang di tungtungna. Good tuah!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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