Kọmputa, Siseto
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:
- O ti tọ ti a ti yan awọn aṣẹ ti tabili fun eyi ti data ti a ti sọnu.
- 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