පරිගණකවැඩසටහන්

උදාහරණයක්, සවිස්තරාත්මක විස්තරයක්, දෝෂය භාවිතය - වම් (SQL) එක්වන

කිසිදු සැබෑ දත්ත ගබඩා සමගද දී, සියලු තොරතුරු වෙනම මේසය මත විසිරී ඇත. වගු බොහෝ එකිනෙකා සමග සන්නිවේදන ක්රමය තුළ ඉදිරියට නියම කර ඇත. කෙසේ වෙතත්, උපකාරයෙන් අනවශ්යය විමසුම් එය පරිපථ කාවද්දා නොමැත, දත්ත අතර සම්බන්ධයක් දමා තරමක් හැකි ය. මෙය ඔබ බැලූ බැල්මට තොරතුරු වගු ඕනෑම සංඛ්යාව අතර සම්බන්ධයක් ගොඩ, සහ සම්බන්ධ කිරීමට ඉඩ සලසන එක්වන සම්බන්ධයක්, රංගනය, විසින් සිදු කරනු ලැබේ.

මෙම ලිපිය එක්වන වම් පිටත ගැන විශේෂයෙන් කතා කරනු ඇත. සම්බන්ධ මේ වර්ගයේ විස්තර කිරීම සඳහා කටයුතු කිරීමට පෙර, ඇතැම් දත්ත සමුදාය වගු තුළ එක් කරන්න.

අවශ්ය වගු සකස්

උදාහරණයක් ලෙස, අපගේ දත්ත සමුදාය, මිනිසුන් හා ඔවුන්ගේ දේපල පිළිබඳ තොරතුරු නැත. ජනතා පක්ෂයද (ජනතාව), රියල්ටි (දේපල), Realty_peoples (වගුව සබඳතා, මොකක්ද දේපල අයිති අය): වගු මත පදනම් සාරාංශය. ජනතාවගේ වගු තුල ගබඩා කර ඇති පහත දත්ත යැයි උපකල්පනය කරන්න:

ජනතා

id

L_name

F_name

Middle_name

උපන් දිනය

1

Ivanova

Daria

බී

07/16/2000

2

Pugin

ව්ලැඩිස්ලාව්

Nikolaevich

29.01.1986

3

Evgenin

ඇලෙක්සැන්ඩර්

Federovich

04/30/1964

4

Annina

ආදරය

පී

31.12.1989

5

Gerasimovsky

බලාපොරොත්තුව

පී

14.03.1992

6

Gerasimovsky

ඔලෙග්

Albertovich

01/29/1985

7

Sukhanovskaya

ජූරි

09/25/1976

8

Sukhanovskaya

ජූලියා

වයි

01.10.2001

දේපල:

රූපාන්තරණය

id

ලිපිනය

1

Arkhangelsk, උල්. Voronin, ඈ. 7, kv.6

2

Arkhangelsk, උල්. Severodvinskaya, ඈ. 84, q. 9 බීආර්. 5

3

Arkhangelsk කලාපය, Severodvinsk, වන. ලෙනින්, ඈ. 134, q. 85

4

Arkhangelsk කලාපය, Novodvinsk, උල්. Proletarshaya, ඈ. 16, q. 137

5

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

සබඳතා ජනතාව - දේපළ:

Realty_peoples

id_peoples

id_realty

වර්ගය

7

3

මුළු ඒකාබද්ධ අයිතිය

8

3

මුළු ඒකාබද්ධ අයිතිය

3

5

දේපල

7

1

දේපල

5

4

පොදු කොටස්

6

4

පොදු කොටස්

වම් (අනවශ්යය) එක්වන - විස්තරය

ඉතිරි සංයෝගයක් පහත සඳහන් වාක්ය රීති ඇත:

| Table_A වම් table_B [{සංජානන පිළිබඳ} එකතු වන්න {Tolbtsov සමග spisok_ භාවිත කිරීම}]

කර පහත සඳහන් ක්රමානුරූප ලෙස ලෙස:

මෙම ප්රකාශනය "හැර තොරව, සියලුම තෝරන්න, සූදානම පිළිබඳ ගැලපෙන පේළි පමණක් ප්රදර්ශනය කිරීමට වගුව A සහ වගුව බී රේඛාවක් ලෙස පරිවර්තනය වේ. වටිනාකම් "- මේසය යුගල ඒ සඳහා වැල වගුවේ සොයා නම්, NULL ඵලිත තීරු පුරවන්න.

බොහෝ විට, විට වම් සම්බන්ධයක් මත, සම්බන්ධතාවය කිරීමට රජය සැලසුම් කර ඇති මෙම තීරුව නම්, එම විට පමණක් භාවිතා වේ භාවිත කිරීම දක්වා තිබේ.

වම් එක්වන - භාවිතය සඳහා උදාහරණ

එහි මහජන නම් දේපළ, අපි වමේ සම්බන්ධතාවය බලන්න පුළුවන් ලැයිස්තුවෙන් සියලු සෙනඟ. වම් මෙම කරන්න SQL විමසුම් උදාහරණයක් එක්වන:

ජනතා SELECT. *, Realty_peoples.id_realty, Realty_peoples.type

ජනතා වමේ සිට Realty_peoples පිළිබඳ Peoples.id = Realty_peoples.id_peoples එක්වන

පහත සඳහන් ප්රතිඵල සමඟ:

Query1

id

L_name

F_name

Middle_name

උපන් දිනය

id_realty

වර්ගය

1

Ivanova

Daria

බී

07/16/2000

2

Pugin

ව්ලැඩිස්ලාව්

Nikolaevich

29.01.1986

3

Evgenin

ඇලෙක්සැන්ඩර්

Federovich

04/30/1964

5

දේපල

4

Annina

ආදරය

පී

31.12.1989

5

Gerasimovsky

බලාපොරොත්තුව

පී

14.03.1992

4

පොදු කොටස්

6

Gerasimovsky

ඔලෙග්

Albertovich

01/29/1985

4

පොදු කොටස්

7

Sukhanovskaya

ජූරි

09/25/1976

1

දේපල

7

Sukhanovskaya

ජූරි

09/25/1976

3

මුළු ඒකාබද්ධ අයිතිය

8

Sukhanovskaya

ජූලියා

වයි

01.10.2001

3

මුළු ඒකාබද්ධ අයිතිය

අප දකින පරිදි, Ivanova Darya Pugin ව්ලැඩිස්ලාව් හා Anninoy Lyubovi නොමැත දේපල හිමිකම් ලියාපදිංචි.

සහ අප අභ්යන්තර ඇතුළත එක්වන එක්වන භාවිතා හිමි වනු ඇත? ඔබ දන්නා පරිදි, එය ගැලපෙන නොවන පේළි බැහැර, ඒ නිසා අපේ අවසාන නියැදි කින් තුනක් හුදෙක් වැටී ඇත:

Query1

id

L_name

F_name

Middle_name

උපන් දිනය

id_realty

වර්ගය

3

Evgenin

ඇලෙක්සැන්ඩර්

Federovich

04/30/1964

5

දේපල

5

Gerasimovsky

බලාපොරොත්තුව

පී

14.03.1992

4

පොදු කොටස්

6

Gerasimovsky

ඔලෙග්

Albertovich

01/29/1985

4

පොදු කොටස්

7

Sukhanovskaya

ජූරි

09/25/1976

1

දේපල

7

Sukhanovskaya

ජූරි

09/25/1976

3

මුළු ඒකාබද්ධ අයිතිය

8

Sukhanovskaya

ජූලියා

වයි

01.10.2001

3

මුළු ඒකාබද්ධ අයිතිය

එය දෙවන සංස්කරණය ද අපගේ ප්රශ්නය කොන්දේසි සැකසී ඇති බව පෙනෙන්නට තිබේ. කෙසේ වෙතත්, අපට තවත් මත අනුයුක්ත කිරීමට ආරම්භ, සහ තවත් වගුව නම්, ප්රතිඵලයෙන් ජනතාව තුනක් දැනටමත් යලිත් පිලිසකර ගොස්. ඒ නිසා, ප්රායෝගිකව, බහු වගු යෙදෙන විට තවත් බොහෝ බොහෝ විට වම හා ඇතුළු එක්වන වඩා අයිතිය සම්බන්ධයෙන් භාවිත කළා.

දිගටම වම් බැලීමට sql උදාහරණ එකතු වනු ඇත. අපේ ගෙවල් ලිපිනයන් මේසයක් අමුණන්න:

ජනතා SELECT. *, Realty_peoples.id_realty, Realty_peoples.type, Realty.address

ජනතා සිට

වම් එක්වන Realty_peoples පිළිබඳ Peoples.id = Realty_peoples.id_peoples

වම් Realty.id = Realty_peoples.id_realty පිළිබඳ රියල්ටි එක්වන

දැන් අපි නීතිය කාරුණික, පමණක් නොව, දේපල ලිපිනය පමණක් නොව ගන්න:

Query1

id

L_name

F_name

Middle_name

උපන් දිනය

id_realty

වර්ගය

ලිපිනය

1

Ivanova

Daria

බී

07/16/2000

2

Pugin

ව්ලැඩිස්ලාව්

Nikolaevich

29.01.1986

3

Evgenin

ඇලෙක්සැන්ඩර්

Federovich

04/30/1964

5

දේපල

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

4

Annina

ආදරය

පී

31.12.1989

5

Gerasimovsky

බලාපොරොත්තුව

පී

14.03.1992

4

පොදු කොටස්

Arkhangelsk කලාපය, Novodvinsk, උල්. Proletarshaya, ඈ. 16, q. 137

6

Gerasimovsky

ඔලෙග්

Albertovich

01/29/1985

4

පොදු කොටස්

Arkhangelsk කලාපය, Novodvinsk, උල්. Proletarshaya, ඈ. 16, q. 137

7

Sukhanovskaya

ජූරි

09/25/1976

3

මුළු ඒකාබද්ධ අයිතිය

Arkhangelsk කලාපය, Severodvinsk, වන. ලෙනින්, ඈ. 134, q. 85

7

Sukhanovskaya

ජූරි

09/25/1976

1

දේපල

Arkhangelsk, උල්. Voronin, ඈ. 7, kv.6

8

Sukhanovskaya

ජූලියා

වයි

01.10.2001

3

මුළු ඒකාබද්ධ අයිතිය

Arkhangelsk කලාපය, Severodvinsk, වන. ලෙනින්, ඈ. 134, q. 85

වම් එක්වන - දෝෂයක් සාමාන්ය භාවිතය: වලංගු නොවන ක්රියා පටිපාටිය වගුව

වම් පිටත සිදු මූලික වැරදි වගු, දෙකක් එක්වන:

  1. නිවැරදිව සඳහා දත්ත අහිමි විය වගු අනුපිළිවෙල තෝරා ගන්නා ලදී.
  2. සමග විමසුම භාවිතා කරන විට වැරදි වගු එක්වන කොහෙද.

පළමු වැරැද්ද ගැන සලකා බලන්න. අපි අවසානයේ දී ලබා ගැනීමට අවශ්ය දේ බව ඕනෑම ප්රශ්නයක් පිළිබඳ තීරණය කිරීමට පෙර පැහැදිලිව වටහා ගත යුතු ය. ඉහත මෙම උදාහරණයේදී, අපි ජනතාවගේ සෑම එකක් ගෙන, නමුත් සම්පූර්ණයෙන්ම සංඛ්යාව 2, කාගේ හිමිකරු සොයාගත නොහැකි විය යටතේ වස්තුව පිළිබඳ තොරතුරු අහිමි විය.

අපි සමහර ස්ථානවල විමසීමකදී දී වගු ගිය අතර ආරම්භ නම් «... රියල්ටි සිට මහජන එක්වන ඉතිරි ...» කිසිදු එක් දේපල, අපට අහිමි වූ නැහැ, ඔබ ජනයා ගැන කියන්නේ නැහැ.

නමුත් ප්රතිඵල සහ ගැලපෙන ඇතුළත් වන වම් සම්බන්ධතාවයක්, පූර්ණ බාහිර මාරු, භය, සහ ගැලපෙන රේඛා වෙන්න එපා.

ඇත්තෙන්ම, ආදර්ශ පරිමාව බොහෝ විට ඉතා විශාල වන අතර, අතිරේක දත්ත ඇත්තටම මිනිසෙක් ය. ප්රධාන දෙයක් - ඔබ එහි ප්රතිඵලයක් ලබා ගැනීමට අවශ්ය කුමක් දැයි පැහැදිලි කර ගැනීම: ඔවුන් ලබා ගත හැකි දේපල ලැයිස්තුවක් හෝ සිය අයිතිකරුවන් සමග සමස්ත දේපළ ලැයිස්තුවට (අවශ්ය නම් පමණක්) සමග සියලු ජනයා.

වම් එක්වන - දෝෂයක් සාමාන්ය භාවිතය: ඉල්ලීම් ද කොහෙද කොන්දේසි සකසා විට නිවැරදි

දෙවන දෝෂ ද දත්ත අහිමි හා සම්බන්ධ, හා සෑම විටම වහාම පැහැදිලි නැත ඇත.

අපි සම්බන්ධතා හරහා ඉවත් වන විට සියලු ජනයා හා ඔවුන්ගේ පවත්නා දේපල සඳහා දත්ත ලබා ආපසු විමසුම යන්න ඉඩ දෙන්න. වම සමග පහත සඳහන් මතක තබා ගන්න sql උදාහරණයක් එක්වන:

ජනතා වමේ සිට Realty_peoples පිළිබඳ Peoples.id = Realty_peoples.id_peoples එක්වන

අපි ඉල්ලීමක් පැහැදිලි කිරීමට අවශ්ය සිතන්න සහ ප්රතිදානය නීතිය වර්ගය දත්ත යන තැන, නැත - "ඉඩකඩම්". අපි සරලව ඇතුලත් නම්, වම් භාවිතා sql අතර, පහත දැක්වෙන තත්ත්වය උදාහරණයක් එක්වන:

...

කොහෙද වර්ගය <> "ඉඩකඩම්"

අපි ශූන්ය අගය NULL පහත සඳහන් පරිදි සාපේක්ෂව නොවන නිසා, කිසිදු දේපල ඇති අය මත දත්ත අහිමි වනු ඇත:

Query1

id

L_name

F_name

Middle_name

උපන් දිනය

id_realty

වර්ගය

5

Gerasimovsky

බලාපොරොත්තුව

පී

14.03.1992

4

පොදු කොටස්

6

Gerasimovsky

ඔලෙග්

Albertovich

01/29/1985

4

පොදු කොටස්

7

Sukhanovskaya

ජූරි

09/25/1976

3

මුළු ඒකාබද්ධ අයිතිය

8

Sukhanovskaya

ජූලියා

වයි

01.10.2001

3

මුළු ඒකාබද්ධ අයිතිය

මේ හේතුව නිසා ඇතිවීම වැරදි වලක්වා ගැනීම සඳහා, එය සම්බන්ධ මත වහාම තෝරා තත්ත්වය ඇති කිරීමට හොඳම. අපි SQL උදාහරණයක් එක්වන වම් සමග පහත සඳහන් සලකා යෝජනා කරමු.

ජනතා SELECT. *, Realty_peoples.id_realty, Realty_peoples.type

ජනතා සිට

වම් Realty_peoples මත (Peoples.id = Realty_peoples.id_peoples සහ වර්ගය <> "ඉඩකඩම්") සමග එකතු වන්න

ලැබෙන පිළිතුර පහත සඳහන් පරිදි වේ:

Query1

id

L_name

F_name

Middle_name

උපන් දිනය

id_realty

වර්ගය

1

Ivanova

Daria

බී

07/16/2000

2

Pugin

ව්ලැඩිස්ලාව්

Nikolaevich

29.01.1986

3

Evgenin

ඇලෙක්සැන්ඩර්

Federovich

04/30/1964

4

Annina

ආදරය

පී

31.12.1989

5

Gerasimovsky

බලාපොරොත්තුව

පී

14.03.1992

4

පොදු කොටස්

6

Gerasimovsky

ඔලෙග්

Albertovich

01/29/1985

4

පොදු කොටස්

7

Sukhanovskaya

ජූරි

09/25/1976

3

මුළු ඒකාබද්ධ අයිතිය

8

Sukhanovskaya

ජූලියා

වයි

01.10.2001

3

මුළු ඒකාබද්ධ අයිතිය

මේ අනුව, වමට සරල SQL උදාහරණයක් එක්වන අනුගමනය කිරීමෙන්, අප සියලු ජනතාව ලැයිස්තුවක්, ව්යාපාර කොටස් / ඒකාබද්ධ අයිතිය මෙම ගුණ එක් තවදුරටත් ගමන් ලැබීය.

අවසාන වශයෙන් මම දත්ත ඕනෑම තොරතුරු නියැදි වගකීමෙන් කටයුතු කළ යුතු බව නැවත වරක් අවධාරණය කිරීමට කැමැත්තෙමි. ඔබ පවා මූලික විමසුම ලිවීමට කිරීම ආරම්භ කිරීමට පෙර, ඔබ ප්රවේශමෙන් අපි අවසානයේ දී ලබා ගැනීමට අවශ්ය දේ තේරුම් ගැනීමට යුතුයි - වම් අප ඉදිරිපිට විවෘත බොහෝ එළඹීමේදී sql සරල උදාහරණයක්, ඉන් එක් අයෙකු පැහැදිලි එක්වන. සුබ පැතුම්!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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