ÒdinatèPwogram

Left rantre nan (SQL) - yon egzanp, dekri teren detaye, pou sèvi ak erè a

Nan nenpòt baz done reyèl relasyon, se tout enfòmasyon distribiye sou yon tab apa a. Anpil nan tab yo ap tabli nan konplo a kominikasyon ak youn ak lòt. Sepandan, avèk èd nan Sql queries li se byen posib yo mete yon lyen ant done yo, pa entegre nan kous la. Sa a se fè pa fè yon koneksyon rantre nan, ki pèmèt ou bati yon relasyon ant nenpòt ki kantite tab, e menm konekte enfòmasyon w pèdi disparate.

Atik sa a pral pale espesifikman sou deyò gòch la rantre nan. Anvan pwosedi nan deskripsyon an nan sa a ki kalite koneksyon, ajoute nan kèk tab baz done.

Preparasyon tab ki nesesè

Pou egzanp, nan baz done nou an, gen enfòmasyon sou moun ak byen imobilye yo. Rezime ki baze sou twa tab yo: Peoples (moun), Realty (byen imobilye), Realty_peoples (relasyon tab, moun ki soti nan sa ki pwopriyete ki dwe nan). Sipoze done sa yo ki estoke nan tab yo nan moun yo:

Peoples

id

L_name

F_name

Middle_name

Anivèsè

1

Ivanova

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolayevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

4

Annina

renmen

P.

31.12.1989

5

Gerasimovsky

espere

P.

14.03.1992

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

7

Sukhanovskaya

jiri

A.

09/25/1976

8

Sukhanovskaya

Julia

Y.

01.10.2001

Byen imobilye:

Realty

id

adrès

1

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

2

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

3

Arkhangelsk rejyon an, Severodvinsk, ST. Lenin, d. 134, q. 85

4

Arkhangelsk rejyon an, Novodvinsk, ul. Proletarshaya, d. 16, q. 137

5

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

Relasyon moun - pwopriyete:

Realty_peoples

id_peoples

id_realty

kalite

7

3

Total jwenti an komen

8

3

Total jwenti an komen

3

5

pwopriyete

7

1

pwopriyete

5

4

pati Komen

6

4

pati Komen

Left rantre nan (Sql) - Deskripsyon

Left konpoze gen sentaks sa a:

Table_A GÒCH ANTRE NAN table_B [{SOU suppose} | {ITILIZE spisok_ ak tolbtsov}]

Apre sa, Schematics jan sa a:

Epi se ekspresyon sa a tradui kòm "Chwazi tout, san okenn eksepsyon, liy nan yon tab ak tab B yo montre sèlman ranje yo matche nan suppose la. Si yo te jwenn tab la nan tablo a fisèl pou pè A, Lè sa a, ranpli kolòn yo ki kapab lakòz Null - valè ".

Pi souvan, lè se koneksyon la kite endike ON, lè l sèvi avèk ki itilize sèlman lè non yo kolòn, ki se te planifye fè koneksyon an se menm bagay la.

Left rantre nan - egzanp nan itilize

Avèk koneksyon an nan bò gòch la nou ka wè, tout pèp la nan lis la si gen Peoples pwopriyete. Pou fè sa nan bò gòch la rantre nan SQL egzanp rechèch:

Peoples chwazi. *, Realty_peoples.id_realty, Realty_peoples.type

Nan mitan moun GÒCH ANTRE NAN Realty_peoples SOU Peoples.id = Realty_peoples.id_peoples;

Ak rezilta sa yo:

Query1

id

L_name

F_name

Middle_name

Anivèsè

id_realty

kalite

1

Ivanova

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolayevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

5

pwopriyete

4

Annina

renmen

P.

31.12.1989

5

Gerasimovsky

espere

P.

14.03.1992

4

pati Komen

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

pati Komen

7

Sukhanovskaya

jiri

A.

09/25/1976

1

pwopriyete

7

Sukhanovskaya

jiri

A.

09/25/1976

3

Total jwenti an komen

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total jwenti an komen

Kòm nou wè, Ivanova Darya Pugin Vladislav ak Anninoy Lyubovi Se pa anrejistre dwa byen imobilye.

Ak sa ki ta nou te resevwa, lè l sèvi avèk yon enteryè rantre nan Inner rantre nan? Kòm ou konnen, li eksklizyon ranje ki pa matche, se konsa twa nan final echantiyon nou an ta tou senpleman dwe tonbe:

Query1

id

L_name

F_name

Middle_name

Anivèsè

id_realty

kalite

3

Evgenin

Alexander

Federovich

04/30/1964

5

pwopriyete

5

Gerasimovsky

espere

P.

14.03.1992

4

pati Komen

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

pati Komen

7

Sukhanovskaya

jiri

A.

09/25/1976

1

pwopriyete

7

Sukhanovskaya

jiri

A.

09/25/1976

3

Total jwenti an komen

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total jwenti an komen

Li ta sanble ke vèsyon an dezyèm tou satisfè kondisyon sa yo nan pwoblèm nou yo. Sepandan, si nou kòmanse mete sou yon lòt, ak yon lòt tab, twa moun ki sòti nan rezilta a deja definitivman ale. Se poutèt sa, nan pratik, lè konbine tab miltip pi plis souvan yo itilize Left ak dwa koneksyon pase Inner rantre nan.

Ap kontinye gade nan bò gòch la rantre nan egzanp SQL. Tache yon tab la avèk adrès nan kay nou an:

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

nan mitan moun

GÒCH ANTRE NAN Realty_peoples SOU Peoples.id = Realty_peoples.id_peoples

GÒCH ANTRE NAN Realty sou Realty.id = Realty_peoples.id_realty

Koulye a, nou jwenn pa sèlman yon kalite nan lwa, men tou, adrès la nan byen imobilye:

Query1

id

L_name

F_name

Middle_name

Anivèsè

id_realty

kalite

adrès

1

Ivanova

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolayevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

5

pwopriyete

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

4

Annina

renmen

P.

31.12.1989

5

Gerasimovsky

espere

P.

14.03.1992

4

pati Komen

Arkhangelsk rejyon an, Novodvinsk, ul. Proletarshaya, d. 16, q. 137

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

pati Komen

Arkhangelsk rejyon an, Novodvinsk, ul. Proletarshaya, d. 16, q. 137

7

Sukhanovskaya

jiri

A.

09/25/1976

3

Total jwenti an komen

Arkhangelsk rejyon an, Severodvinsk, ST. Lenin, d. 134, q. 85

7

Sukhanovskaya

jiri

A.

09/25/1976

1

pwopriyete

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

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total jwenti an komen

Arkhangelsk rejyon an, Severodvinsk, ST. Lenin, d. 134, q. 85

Left rantre nan - itilize a tipik nan erè: valab pwosedi tab

erè de baz te fè nan deyò gòch la rantre nan tab, de:

  1. Kòrèkteman chwazi lòd la nan tab pou ki done te pèdi.
  2. Ki kote erè lè w ap itilize yon demann ak rantre nan tab.

Konsidere premye erè. Anvan yo fè desizyon an nan nenpòt pwoblèm ta dwe byen klè konprann ke sa nou vle jwenn nan fen an. Nan egzanp sa a pi wo a, nou te pran chak yon sèl nan pèp la, men konplètman pèdi enfòmasyon sou objè a anba nimewo a 2, ki gen mèt kay pa te jwenn.

Si nou te deplase wòch yo nan yon sijè rechèch nan kèk kote, e li ta kòmanse avèk «... Soti nan Realty kite rantre nan Peoples ...» nenpòt ki byen yon sèl, nou pa ta pèdi, ou pa pral di sou moun.

Men, pa bezwen pè nan koneksyon an bò gòch, chanje a plen ekstèn, ki se enkli nan rezilta yo, epi matche an, epi yo pa liy ki matche.

Apre yo tout, volim nan echantiyon se souvan gwo anpil, ak done siplemantè se aktyèlman initil. Bagay pwensipal lan - yo konnen sa ou vle yo ka resevwa yon rezilta: nan tout moun ki gen yon lis ki gen pwopriyete ki disponib yo oswa lis la pwopriyete tout ak mèt yo (si genyen).

Left rantre nan - itilize a tipik nan erè: Mande ki kòrèk lè mete kondisyon yo ki nan Ki kote nan

se erè nan dezyèm tou ki asosye ak pèt done, epi yo pa toujou imedyatman aparan.

Se pou nou tounen nan rechèch la lè nou te kite atravè koneksyon resevwa done pou tout pèp la ak pwopriyete ki deja egziste yo. Sonje sa ki annapre yo ak bò gòch rantre nan SQL egzanp:

Nan mitan moun GÒCH ANTRE NAN Realty_peoples SOU Peoples.id = Realty_peoples.id_peoples;

Sipoze nou vle klarifye demann lan ak pa fè sa pwodiksyon done a, kote ki kalite lalwa - "Property". Si nou tou senpleman kole, lè l sèvi avèk kite rantre nan SQL, yon egzanp nan kondisyon sa yo:

...

Ki kote kalite <> "Property"

nou ap pèdi done yo sou moun ki pa gen okenn pwopriyete, paske Null a valè null pa konpare jan sa a:

Query1

id

L_name

F_name

Middle_name

Anivèsè

id_realty

kalite

5

Gerasimovsky

espere

P.

14.03.1992

4

pati Komen

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

pati Komen

7

Sukhanovskaya

jiri

A.

09/25/1976

3

Total jwenti an komen

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total jwenti an komen

Pou anpeche erè soti nan rive pou rezon sa a, li pi bon yo mete kondisyon an seleksyon imedyatman sou koneksyon. Nou sijere pou yo konsidere sa ki annapre yo ak bò gòch la rantre nan SQL egzanp.

Peoples chwazi. *, Realty_peoples.id_realty, Realty_peoples.type

nan mitan moun

GÒCH ANTRE NAN Realty_peoples ON (Peoples.id = Realty_peoples.id_peoples ak kalite <> "Property")

Rezilta a yo pral jan sa a:

Query1

id

L_name

F_name

Middle_name

Anivèsè

id_realty

kalite

1

Ivanova

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolayevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

4

Annina

renmen

P.

31.12.1989

5

Gerasimovsky

espere

P.

14.03.1992

4

pati Komen

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

pati Komen

7

Sukhanovskaya

jiri

A.

09/25/1976

3

Total jwenti an komen

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total jwenti an komen

Se konsa, pa swiv senp la nan bò gòch la rantre nan SQL egzanp, nou te resevwa yon lis tout pèp la, k ap deplase pi lwen, youn nan sa yo pwopriyete nan yon ekite / an komen jwenti.

Kòm yon konklizyon Mwen ta renmen mete aksan sou yon lòt fwa ankò ke yon echantiyon nan nenpòt ki enfòmasyon ki soti nan baz done a bezwen li dwe te pran prekosyon. Anpil nuans louvri nan devan nou ak bò gòch rantre nan SQL egzanp ki senp, eksplikasyon an nan ki yon sèl - anvan ou kòmanse ekri menm debaz rechèch, ou dwe ak anpil atansyon a konprann ki sa nou vle jwenn nan fen an. Bon chans!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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