کمپیوٹرزپروگرامنگ

ایک مثال، تفصیلی وضاحت، خرابی کے استعمال - بائیں (SQL) میں شمولیت

کسی حقیقی سنبندپرک ڈیٹا بیس میں تمام معلومات کو ایک الگ میز پر تقسیم کیا ہے. میزیں کے بہت سے ایک دوسرے کے ساتھ بات چیت سکیم میں متعین کر رہے ہیں. تاہم، کی مدد سے SQL سوالات کو یہ سرکٹ میں نہیں سرایت ڈیٹا، کے درمیان ایک لنک ڈال کرنے کے لئے بہت ممکن ہے. اس سے آپ کے ٹیبل کے کسی بھی تعداد کے درمیان تعلقات قائم کرنے کے لئے، اور یہاں تک کہ بظاہر مختلف معلومات سے رابطہ قائم کی اجازت دیتا ہے جس میں ایک میں شامل ہونے کے کنکشن، کارکردگی کا مظاہرہ کر کی طرف سے کیا جاتا ہے.

اس مضمون کو خاص طور پر کے بارے میں بائیں بیرونی شامل ہونے میں بات کریں گے. کنکشن کی اس قسم کی وضاحت کرنے کے لئے آگے بڑھنے سے پہلے، کچھ ڈیٹابیس کے ٹیبل میں شامل کریں.

ضروری میزیں تیاری کرنا

مثال کے طور پر ہمارے ڈیٹا بیس میں، لوگوں کو اور ان کے رئیل اسٹیٹ کے بارے میں معلومات نہیں ہے. پیپلز (لوگوں)، اچل خاصیت (رئیل اسٹیٹ)، Realty_peoples (ٹیبل رشتے، لوگوں کو جو اس میں سے جائیداد سے تعلق رکھتا ہے): تین میزیں پر مبنی خلاصہ. لوگوں کی میزیں میں محفوظ کیا درج ذیل ڈیٹا فرض:

پیپلز

ID

L_name

F_name

Middle_name

سالگرہ

1

Ivanova میں

Daria کی

B.

07/16/2000

2

Pugin

ولادسلاو

Nikolaevich کو

29.01.1986

3

Evgenin

الیگزینڈر

Federovich

04/30/1964

4

Annina

سے محبت کرتا ہوں

P.

31.12.1989

5

Gerasimovsky

امید

P.

14.03.1992

6

Gerasimovsky

اولیگ

Albertovich

01/29/1985

7

Sukhanovskaya

جوری

A.

09/25/1976

8

Sukhanovskaya

جولیا

Y.

01.10.2001

ریئل اسٹیٹ:

اچل خاصیت

ID

ایڈریس

1

Arkhangelsk، UL. Voronin، متوفی 7، kv.6

2

Arkhangelsk، UL. Severodvinskaya، متوفی 84، پوچھو. 9 BR. 5

3

Arkhangelsk خطے، Severodvinsk، سینٹ. لینن، متوفی 134، پوچھو. 85

4

Arkhangelsk خطے، Novodvinsk، UL. Proletarshaya، متوفی 16، ق. 137

5

Arkhangelsk، PL. Terekhina، متوفی 89، پوچھو. 13

تعلقات لوگ - جائیداد:

Realty_peoples

id_peoples

id_realty

قسم

7

3

کل مشترکہ ملکیت

8

3

کل مشترکہ ملکیت

3

5

جائیداد

7

1

جائیداد

5

4

کامن حصوں

6

4

کامن حصوں

بائیں شامل ہونے (SQL) - تفصیل

بائیں کمپاؤنڈ مندرجہ ذیل نحو ہے:

Table_A LEFT JOIN table_B [{ودیئ ON} | {tolbtsov ساتھ spisok_ استعمال}]

اور مندرجہ ذیل Schematically، لیبل کے طور پر:

اور اس اظہار "ٹیبل ایک اور ٹیبل بی کی لائن ودیئ کے صرف مماثلت کی قطاروں کو ظاہر کرنے کے لئے رعایت کے بغیر، تمام منتخب کریں، کے طور پر ترجمہ کیا جاتا ہے. ٹیبل جوڑوں A کے لئے سٹرنگ ٹیبل میں پایا گیا تھا، تو پھر نتیجے کالم نل بھرنے - اقدار ".

اکثر، جب چھوڑ کنکشن پر دلالت کرتی ہے، کا استعمال کرتے ہوئے صرف استعمال کیا جاتا ہے کے کالم ناموں، کنکشن بنانے کے لئے منصوبہ بندی کی ہے جس میں ایک ہی ہیں.

بائیں بازو کی جماعتوں میں شامل ہونے کے - استعمال کی مثالیں

بائیں کے کنکشن کے ساتھ ہم دیکھ سکتے ہیں، فہرست سے تمام لوگ پیپلز جائیداد موجود ہو. بائیں سمت میں ایسا کرنے کے لئے شامل ہونے SQL سوال مثال:

SELECT پیپلز. *، Realty_peoples.id_realty، Realty_peoples.type

FROM پیپلز LEFT JOIN Realty_peoples ON Peoples.id = Realty_peoples.id_peoples؛

مندرجہ ذیل نتائج کے ساتھ:

Query1

ID

L_name

F_name

Middle_name

سالگرہ

id_realty

قسم

1

Ivanova میں

Daria کی

B.

07/16/2000

2

Pugin

ولادسلاو

Nikolaevich کو

29.01.1986

3

Evgenin

الیگزینڈر

Federovich

04/30/1964

5

جائیداد

4

Annina

سے محبت کرتا ہوں

P.

31.12.1989

5

Gerasimovsky

امید

P.

14.03.1992

4

کامن حصوں

6

Gerasimovsky

اولیگ

Albertovich

01/29/1985

4

کامن حصوں

7

Sukhanovskaya

جوری

A.

09/25/1976

1

جائیداد

7

Sukhanovskaya

جوری

A.

09/25/1976

3

کل مشترکہ ملکیت

8

Sukhanovskaya

جولیا

Y.

01.10.2001

3

کل مشترکہ ملکیت

ہم دیکھتے ہیں کے طور پر، Ivanova میں دریا Pugin ولادسلاو اور Anninoy Lyubovi کوئی رجسٹرڈ رئیل اسٹیٹ حقوق.

اور کیا ہم ایک اندرونی اندرونی شامل ہونے میں شامل ہونے کا استعمال کرتے ہوئے، موصول ہوتا؟ جیسا کہ آپ جانتے ہیں، یہ غیر کے ملاپ قطاروں خارج ہوجاتی ہے، تو تین ہماری آخری نمونہ کے باہر صرف گرا دیا جائے گا:

Query1

ID

L_name

F_name

Middle_name

سالگرہ

id_realty

قسم

3

Evgenin

الیگزینڈر

Federovich

04/30/1964

5

جائیداد

5

Gerasimovsky

امید

P.

14.03.1992

4

کامن حصوں

6

Gerasimovsky

اولیگ

Albertovich

01/29/1985

4

کامن حصوں

7

Sukhanovskaya

جوری

A.

09/25/1976

1

جائیداد

7

Sukhanovskaya

جوری

A.

09/25/1976

3

کل مشترکہ ملکیت

8

Sukhanovskaya

جولیا

Y.

01.10.2001

3

کل مشترکہ ملکیت

اس دوسرے ورژن بھی ہمارا مسئلہ کی شرائط پوری کرتا ہے کہ لگتا ہے. تاہم، ہم دوسرے پر منسلک کرنے کے لئے شروع، اور ایک اور ٹیبل نتیجہ سے تین افراد کو پہلے ہی irretrievably چلا جائے. اندرونی مقابلے لہذا، عملی طور پر، ایک سے زیادہ ٹیبل کو ملا جب بہت زیادہ کثرت سے استعمال کیا جاتا ہے بائیں اور دائیں کنکشن شامل ہونے کی.

SQL مثالیں شامل ہونے بائیں کرنے کے لئے نظر آتے رہیں گے. ہمارے گھر کے پتے کے ساتھ ایک میز منسلک کریں:

SELECT پیپلز. *، Realty_peoples.id_realty، Realty_peoples.type، Realty.address

قوموں سے

LEFT JOIN Realty_peoples ON Peoples.id = Realty_peoples.id_peoples

LEFT Realty.id = Realty_peoples.id_realty پر اچل خاصیت JOIN

اب ہم قانون کی نہ صرف ایک قسم، بلکہ رئیل اسٹیٹ کا پتہ ملتا ہے:

Query1

ID

L_name

F_name

Middle_name

سالگرہ

id_realty

قسم

ایڈریس

1

Ivanova میں

Daria کی

B.

07/16/2000

2

Pugin

ولادسلاو

Nikolaevich کو

29.01.1986

3

Evgenin

الیگزینڈر

Federovich

04/30/1964

5

جائیداد

Arkhangelsk، PL. Terekhina، متوفی 89، پوچھو. 13

4

Annina

سے محبت کرتا ہوں

P.

31.12.1989

5

Gerasimovsky

امید

P.

14.03.1992

4

کامن حصوں

Arkhangelsk خطے، Novodvinsk، UL. Proletarshaya، متوفی 16، ق. 137

6

Gerasimovsky

اولیگ

Albertovich

01/29/1985

4

کامن حصوں

Arkhangelsk خطے، Novodvinsk، UL. Proletarshaya، متوفی 16، ق. 137

7

Sukhanovskaya

جوری

A.

09/25/1976

3

کل مشترکہ ملکیت

Arkhangelsk خطے، Severodvinsk، سینٹ. لینن، متوفی 134، پوچھو. 85

7

Sukhanovskaya

جوری

A.

09/25/1976

1

جائیداد

Arkhangelsk، UL. Voronin، متوفی 7، kv.6

8

Sukhanovskaya

جولیا

Y.

01.10.2001

3

کل مشترکہ ملکیت

Arkhangelsk خطے، Severodvinsk، سینٹ. لینن، متوفی 134، پوچھو. 85

بائیں بازو کی جماعتوں میں شامل ہونے کے - خرابی کی مخصوص استعمال: غلط طریقہ کار کی میز

بائیں بیرونی اوپر بنایا بنیادی غلطیوں میزیں، دو گفتگو:

  1. صحیح طریقے سے ٹیبل کی ترتیب ہے جس کے لئے اعداد و شمار کو کھو گیا تھا منتخب کیا.
  2. کے ساتھ ایک سوال کہاں کا استعمال کرتے وقت غلطیاں میزیں شامل ہونے کی.

پہلی غلطی غور کریں. کسی بھی مسئلہ کے فیصلے سے قبل واضح طور پر ہم آخر میں حاصل کرنے کے لئے کیا چاہتے ہیں کہ سمجھا جانا چاہئے. اوپر اس مثال میں، ہم لوگوں میں سے ہر ایک لے لیا، لیکن مکمل طور پر نمبر 2، جس کے مالک نہیں ملا تھا تحت اعتراض کے بارے میں معلومات کھو دیا.

ہم نے کچھ مقامات میں ایک سوال میں میزیں منتقل کر دیا گیا، اور کے ساتھ شروع کریں گے «... اچل خاصیت پیپلز شامل ہونے بائیں سے ...» کسی ایک جائداد تو ہم کھو نہیں سکتا تھا آپ لوگوں کے بارے میں نہیں بتائے گا.

لیکن، بائیں کنکشن کے خوفزدہ نہیں ہونا ہے جس کے نتائج اور ملاپ کے، اور نہیں کے ملاپ کے لائنز میں شامل ہے مکمل بیرونی، پر تبدیل کرتے.

سب کے بعد، نمونے کے حجم کو اکثر بہت بڑی ہے، اور اضافی اعداد و شمار اصل بیکار ہے. ان دستیاب کی پراپرٹی کی ایک فہرست یا ان کے مالکان کے ساتھ ساری جائداد کی فہرست (اگر کوئی ہے) کے ساتھ تمام لوگوں میں سے: - اہم بات یہ معلوم کرنا کہ آپ ایک نتیجہ حاصل کرنے کے لئے کیا چاہتے ہیں.

بائیں بازو کی جماعتوں میں شامل ہونے کے - خرابی کی مخصوص استعمال: جہاں میں حالات کی ترتیب جب درخواست درست ہے

دوسری غلطی کو بھی ڈیٹا کے نقصان کے ساتھ منسلک، اور ہمیشہ فوری طور پر ظاہر نہیں ہیں.

ہم نے چھوڑ دیا جب کنکشن کے تمام لوگوں اور ان کے موجودہ جائیداد کیلئے ڈیٹا موصول ذریعے کی استفسار پر واپس چلتے ہیں. مندرجہ ذیل یاد رکھیں بائیں SQL مثال شامل ہونے کے ساتھ:

FROM پیپلز LEFT JOIN Realty_peoples ON Peoples.id = Realty_peoples.id_peoples؛

ہم درخواست واضح کرنے کے لئے چاہتے ہیں اور پیداوار نہیں اعداد و شمار کرتا ہے فرض کریں، جہاں قانون کی قسم - "جائیداد". ہم تو صرف شامل ہیں، بائیں استعمال کرتے ہوئے SQL، مندرجہ ذیل کی حالت کی ایک مثال گفتگو:

...

کہاں قسم <> "جائیداد"

ہم لوگ خالی قدر نل درج ذیل مقابلے کی نہیں ہے کیونکہ کوئی جائیداد ہے جو، پر ڈیٹا ختم ہو جائے گی:

Query1

ID

L_name

F_name

Middle_name

سالگرہ

id_realty

قسم

5

Gerasimovsky

امید

P.

14.03.1992

4

کامن حصوں

6

Gerasimovsky

اولیگ

Albertovich

01/29/1985

4

کامن حصوں

7

Sukhanovskaya

جوری

A.

09/25/1976

3

کل مشترکہ ملکیت

8

Sukhanovskaya

جولیا

Y.

01.10.2001

3

کل مشترکہ ملکیت

اس کی وجہ سے واقع ہونے سے غلطیوں کو روکنے کے لئے، یہ کنکشن پر فوری طور پر انتخاب شرط قائم کرنے کے لئے سب سے بہتر ہے. ہم بائیں طرف کے ساتھ مندرجہ ذیل SQL مثال شامل ہونے پر غور کرنے کا مشورہ.

SELECT پیپلز. *، Realty_peoples.id_realty، Realty_peoples.type

قوموں سے

LEFT JOIN Realty_peoples ON (Peoples.id = Realty_peoples.id_peoples اور قسم <> "جائیداد")

مندرجہ ذیل کے طور پر نتیجہ ہو جائے گا:

Query1

ID

L_name

F_name

Middle_name

سالگرہ

id_realty

قسم

1

Ivanova میں

Daria کی

B.

07/16/2000

2

Pugin

ولادسلاو

Nikolaevich کو

29.01.1986

3

Evgenin

الیگزینڈر

Federovich

04/30/1964

4

Annina

سے محبت کرتا ہوں

P.

31.12.1989

5

Gerasimovsky

امید

P.

14.03.1992

4

کامن حصوں

6

Gerasimovsky

اولیگ

Albertovich

01/29/1985

4

کامن حصوں

7

Sukhanovskaya

جوری

A.

09/25/1976

3

کل مشترکہ ملکیت

8

Sukhanovskaya

جولیا

Y.

01.10.2001

3

کل مشترکہ ملکیت

اس طرح، بائیں کرنے کے لئے آسان پر عمل کرکے SQL مثال شامل ہونے پر، ہم تمام لوگوں کی ایک فہرست، مزید آگے بڑھ موصول، ایک ایکوئٹی / مشترکہ ملکیت میں ان کی خصوصیات میں سے ایک.

کسی نتیجے کے طور پر میں ایک بار پھر ڈیٹابیس سے کسی بھی معلومات کا ایک نمونہ ذمہ داری سے لیا جائے کرنے کی ضرورت ہے کہ زور دینا چاہوں گا. بائیں ساتھ ہم سب کے سامنے کھول دیا کئی پہلوؤں SQL سادہ مثال میں شامل ہونے، جس میں سے ایک کی وضاحت کریں - آپ بھی بنیادی استفسار لکھنے کے لئے شروع کرنے سے پہلے، آپ کو احتیاط سے ہم آخر میں حاصل کرنے کے لئے کیا چاہتے ہیں کو سمجھنے کے لئے ضروری ہے. گڈ لک!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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