KọmputaSiseto

Osi da (SQL) - ẹya apẹẹrẹ, awọn alaye apejuwe, lilo ti awọn aṣiṣe

Ni eyikeyi gidi ti ibatan database, gbogbo alaye ti wa ni pin lori kan lọtọ tabili. Ọpọlọpọ awọn ti awọn tabili ti wa ni ṣeto siwaju ninu awọn ibaraẹnisọrọ eni pẹlu kọọkan miiran. Sibẹsibẹ, pẹlu iranlọwọ ti awọn SQL yoowu ti o jẹ ohun ṣee ṣe lati fi ọna asopọ kan laarin awọn data, ko ifibọ ninu Circuit. Eleyi ni a ṣe nipa sise a da asopọ, eyi ti o faye gba o lati kọ kan ibasepọ laarin eyikeyi nọmba ti tabili, ati paapa so ẹnipe disparate alaye.

Eleyi article yoo soro pataki nipa awọn osi lode da. Šaaju ki o to ye si awọn apejuwe yi iru ti asopọ, fi ni diẹ ninu awọn database tabili.

Ngbaradi awọn pataki tabili

Fun apẹẹrẹ, ninu wa database, nibẹ ni alaye nipa awon eniyan ati awọn won tita. Lakotan da lori awọn mẹta tabili: Peoples (eniyan), Realty (tita), Realty_peoples (tabili ibasepo, awon eniyan ti o lati ohun ti ohun ini je ti si). Ro awọn wọnyi data ti o ti fipamọ ni awọn tabili awọn enia:

Peoples

id

L_name

F_name

Middle_name

ojo ibi

1

Ivanova

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

4

Annina

ni ife

P.

31.12.1989

5

Gerasimovsky

lero

P.

14.03.1992

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

7

Sukhanovskaya

imomopaniyan

A.

09/25/1976

8

Sukhanovskaya

Julia

Y.

01.10.2001

Tita:

Realty

id

adirẹsi

1

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

2

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

3

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

4

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

5

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

Ajosepo eniyan - ini:

Realty_peoples

id_peoples

id_realty

iru

7

3

Total isẹpo nini

8

3

Total isẹpo nini

3

5

ohun ini

7

1

ohun ini

5

4

wọpọ awọn ẹya ara

6

4

wọpọ awọn ẹya ara

Osi da (SQL) - Apejuwe

Osi yellow ni o ni awọn wọnyi sintasi:

Table_A Osi da table_B [{ON predicate} | {LÍLO spisok_ pẹlu tolbtsov}]

Ati schematically bi wọnyi:

Ati ikosile yi ti wa ni túmọ bi "Yan Gbogbo, lai sile, ila ti Table A o si Table B lati han nikan awọn tuntun ori ila ti awọn predicate. Ti o ba ti awọn tabili a ri ninu okun tabili fun orisii A, ki o si kun Abajade ọwọn Null - iye ".

Ọpọlọpọ igba, nigbati awọn osi asopọ ti wa ni itọkasi ON, lilo ti lo nikan nigbati awọn iwe awọn orukọ, eyi ti o ti ngbero lati ṣe awọn asopọ ni o wa kanna.

Osi da - apeere ti lilo

Pẹlu awọn asopọ ti osi ti a ti le ri, gbogbo awọn enia lati awọn akojọ ti o ba ti wa nibẹ Peoples ini. Lati ṣe eyi ni osi da SQL ìbéèrè apẹẹrẹ:

Yan Peoples. *, Realty_peoples.id_realty, Realty_peoples.type

LATI Peoples Osi da Realty_peoples ON Peoples.id = Realty_peoples.id_peoples;

Pẹlu awọn wọnyi esi:

Query1

id

L_name

F_name

Middle_name

ojo ibi

id_realty

iru

1

Ivanova

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

5

ohun ini

4

Annina

ni ife

P.

31.12.1989

5

Gerasimovsky

lero

P.

14.03.1992

4

wọpọ awọn ẹya ara

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

wọpọ awọn ẹya ara

7

Sukhanovskaya

imomopaniyan

A.

09/25/1976

1

ohun ini

7

Sukhanovskaya

imomopaniyan

A.

09/25/1976

3

Total isẹpo nini

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total isẹpo nini

Bi a ba ri, Ivanova Darya Pugin Vladislav ati Anninoy Lyubovi No aami-tita awọn ẹtọ.

Ati ohun ti yoo ti a ti gba, lilo ohun akojọpọ da Inner da? Bi o mọ, ti o excludes ti kii-tuntun ila, ki mẹta jade ti wa ase sample yoo nìkan wa silẹ:

Query1

id

L_name

F_name

Middle_name

ojo ibi

id_realty

iru

3

Evgenin

Alexander

Federovich

04/30/1964

5

ohun ini

5

Gerasimovsky

lero

P.

14.03.1992

4

wọpọ awọn ẹya ara

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

wọpọ awọn ẹya ara

7

Sukhanovskaya

imomopaniyan

A.

09/25/1976

1

ohun ini

7

Sukhanovskaya

imomopaniyan

A.

09/25/1976

3

Total isẹpo nini

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total isẹpo nini

O yoo dabi wipe awọn keji ti ikede tun pàdé ni ipo ti wa isoro. Sibẹsibẹ, ti o ba a bẹrẹ lati so lori miiran, ati awọn miiran tabili, mẹta eniyan lati awọn esi tẹlẹ irretrievably lọ. Nitorina, ni asa, nigbati apapọ ọpọ tabili Elo siwaju sii igba ti a lo Osi ati ọtun asopọ ju Inner da.

Yoo tesiwaju lati wo si osi da SQL apeere. So a tabili pẹlu adirẹsi ti ile wa:

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

LATI Peoples

Osi da Realty_peoples ON Peoples.id = Realty_peoples.id_peoples

Osi da Realty ON Realty.id = Realty_peoples.id_realty

Bayi a gba ko nikan kan Iru ofin, sugbon o tun awọn adirẹsi ti gidi ohun ini:

Query1

id

L_name

F_name

Middle_name

ojo ibi

id_realty

iru

adirẹsi

1

Ivanova

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

5

ohun ini

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

4

Annina

ni ife

P.

31.12.1989

5

Gerasimovsky

lero

P.

14.03.1992

4

wọpọ awọn ẹya ara

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

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

wọpọ awọn ẹya ara

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

7

Sukhanovskaya

imomopaniyan

A.

09/25/1976

3

Total isẹpo nini

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

7

Sukhanovskaya

imomopaniyan

A.

09/25/1976

1

ohun ini

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

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total isẹpo nini

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

Osi da - awọn aṣoju lilo ti aṣiṣe: invalid ilana tabili

Ipilẹ asise ṣe ni osi lode da tabili, meji:

  1. O ti tọ ti a ti yan awọn aṣẹ ti tabili fun eyi ti data ti a ti sọnu.
  2. Ibi ti aṣiṣe nigba lilo a ìbéèrè pẹlu da tabili.

Ro akọkọ ìfípáda. Šaaju si awọn ipinnu ti eyikeyi isoro yẹ ki o wa kedere gbọye wipe ohun ti a fẹ lati gba ni opin. Ni yi apẹẹrẹ loke, a si mu gbogbo nikan ọkan ninu awọn eniyan, sugbon patapata nu awọn alaye nipa awọn ohun labẹ awọn nọmba 2, ti eni ti a ko ri.

Ti a ba gbe awọn tabili ni a ìbéèrè ni diẹ ninu awọn ibi, ati ki o yoo bẹrẹ pẹlu «... Lati Realty osi da Peoples ...» eyikeyi ọkan ohun ini, a yoo ko ba ti sọnu, o yoo ko so fun nipa awon eniyan.

Sugbon ko ba wa ni frightened ti osi asopọ, yipada si full ita, eyi ti o ti wa ninu awọn esi ati awọn tuntun, ki o si ko awọn tuntun ila.

Lẹhin ti gbogbo, awọn iwọn didun ti awọn ayẹwo ni igba gan tobi, ati afikun data jẹ kosi be. Akọkọ ohun - lati ro ero ohun ti o fẹ lati gba a esi: ti gbogbo eniyan pẹlu akojọ kan ti won wa ohun ini tabi gbogbo ohun ini akojọ pẹlu wọn awọn olohun wọn (ti o ba eyikeyi).

Osi da - awọn aṣoju lilo ti aṣiṣe: Ìbéèrè jẹ ti o tọ nigba ti eto awọn ipo ninu awọn Nibo

Awọn keji ni aṣiṣe ti wa ni tun ni nkan ṣe pẹlu isonu ti data, ati ni o wa ko nigbagbogbo lẹsẹkẹsẹ gbangba.

Jẹ ká lọ pada si awọn ìbéèrè nigba ti a ba kù nipasẹ awọn isopọ gba data fun gbogbo awọn enia ati awọn won tẹlẹ ini. Ranti awọn wọnyi pẹlu osi da SQL apẹẹrẹ:

LATI Peoples Osi da Realty_peoples ON Peoples.id = Realty_peoples.id_peoples;

Sawon a fẹ lati salaye awọn ìbéèrè ati ki o se ko o wu awọn data, ibi ti awọn iru ti ofin - "ini". Ti a ba nìkan append, lilo osi da SQL, ohun apẹẹrẹ ti awọn wọnyi majemu:

...

Ibi ti iru <> "ini"

a yoo padanu awọn data lori eniyan ti o ni ko si ohun ini, nitori awọn asan iye Null ti ko ba akawe bi wọnyi:

Query1

id

L_name

F_name

Middle_name

ojo ibi

id_realty

iru

5

Gerasimovsky

lero

P.

14.03.1992

4

wọpọ awọn ẹya ara

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

wọpọ awọn ẹya ara

7

Sukhanovskaya

imomopaniyan

A.

09/25/1976

3

Total isẹpo nini

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total isẹpo nini

Lati se aṣiṣe lati sẹlẹ ni fun idi eyi, o jẹ ti o dara ju lati ṣeto awọn aṣayan majemu lẹsẹkẹsẹ lori asopọ. A daba lati ro awọn wọnyi pẹlu awọn osi da SQL apẹẹrẹ.

Yan Peoples. *, Realty_peoples.id_realty, Realty_peoples.type

LATI Peoples

Osi da Realty_peoples ON (Peoples.id = Realty_peoples.id_peoples ATI type <> "ini")

Ni esi yio je bi wọnyi:

Query1

id

L_name

F_name

Middle_name

ojo ibi

id_realty

iru

1

Ivanova

Daria

B.

07/16/2000

2

Pugin

Vladislav

Nikolaevich

29.01.1986

3

Evgenin

Alexander

Federovich

04/30/1964

4

Annina

ni ife

P.

31.12.1989

5

Gerasimovsky

lero

P.

14.03.1992

4

wọpọ awọn ẹya ara

6

Gerasimovsky

Oleg

Albertovich

01/29/1985

4

wọpọ awọn ẹya ara

7

Sukhanovskaya

imomopaniyan

A.

09/25/1976

3

Total isẹpo nini

8

Sukhanovskaya

Julia

Y.

01.10.2001

3

Total isẹpo nini

Bayi, nipa awọn wọnyi ni o rọrun si osi da SQL apẹẹrẹ, a ti gba akojọ kan ti gbogbo awọn enia, gbigbe siwaju, ọkan ninu awọn wọnyi-ini ni ohun inifura / apapọ nini.

Bi awọn kan ipari Emi yoo fẹ lati fi rinlẹ lekan si wipe a ayẹwo ti eyikeyi alaye lati database nilo lati wa ni ya responsibly. Ọpọlọpọ awọn nuances la ni iwaju ti wa pẹlu osi da SQL o rọrun apẹẹrẹ, awọn alaye ti eyi ti ọkan - ṣaaju ki o to bẹrẹ lati kọ ani ipilẹ ìbéèrè, o gbọdọ fara lati ni oye ohun ti a fẹ lati gba ni opin. Ti o dara orire!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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