प्रौद्योगिकी साझेदारी

MySQL: वामसङ्केतस्य अनन्तरं वा कुत्र वा प्रयोगः?

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

MySQL इत्यस्मिन् .LEFT JOIN वामसारणीतः (अर्थात् LEFT JOIN कीवर्डस्य वामभागे स्थितं सारणी) सर्वाणि अभिलेखानि प्रत्यागन्तुं प्रयुक्तम्, यद्यपि दक्षिणसारणीयां मेलरूपेण अभिलेखाः नास्ति ये अभिलेखाः सम्यक् सारणीयां न मेलन्ति, तेषां कृते परिणामसमूहस्य सम्यक् सारणीभागः NULL इत्यनेन पूरितः भविष्यति ।विषयेONतथाWHEREवाक्यप्रयोगः, ते इषु भवन्तिLEFT JOINइत्यस्मिन् भूमिकाः भिन्नाः सन्ति- १.

  • इत्युपरि Clause: join conditions परिभाषितुं प्रयुक्तम् अर्थात् के अभिलेखाः एकत्र संयोजिताः भवेयुः इति निर्धारयितुं ।यदा भवद्भिः वाम-दक्षिण-सारणीषु कतिपयेषु क्षेत्रमूल्यानां सम्बन्धाधारितं अभिलेखान् संयोजयितुं आवश्यकं भवति तदा एताः शर्ताः स्थापनीयाःON कालान्तरे।यदि इञ्ONपश्चात् दक्षिणसारणीयां अतिरिक्ताः सशर्तप्रतिबन्धाः सन्ति, ये संयोजनकाले अपि प्रयुक्ताः भविष्यन्ति, परन्तु वामसारणीतः सर्वाणि अभिलेखानि प्रत्यागन्तुं सिद्धान्तं न प्रभावितं करिष्यन्ति
  • कुत्र वाक्यम् : अतीतानां युग्मानां कृते प्रयुक्तम्JOIN ऑपरेशनेन उत्पन्नं परिणामसमूहं अधिकं फ़िल्टर भवति ।यदा स्थितिः स्थापिता भवतिWHEREclause, ये अभिलेखाः शर्ताः न पूरयन्ति (वामसारणीतः वा दक्षिणसारणीतः वा) ते निष्कासिताः भविष्यन्ति, येन वामसारणीतः सर्वाणि अभिलेखानि प्रत्यागन्तुं मूल-अभिप्रायं प्रभावितं कर्तुं शक्यते, विशेषतः NULL मूल्यानि नियन्त्रयन्, भवतः आवश्यकता अस्ति अतिरिक्त सावधान .

विशिष्टः प्रकरणः एकः : १.

मानातु अस्माकं द्वौ सारणी स्तः, एकः अस्तिemployees(कर्मचारिणां सारणी), अन्यः अस्तिdepartments(विभागसारणी), वयं सर्वान् कर्मचारिणः तेषां विभागनामानि च ज्ञातुम् इच्छामः, यद्यपि केचन कर्मचारीः विशिष्टविभागे न नियुक्ताः सन्ति।

कर्मचारिणां सारणी : १.

idनामः
1ऐलिस
2बब
3कैरोल

विभागानां सारणी : १.

idनामः
1HR
2इदम्‌
3विपणनम्

इत्यस्मिन्‌,employeesपीठिकाdepartment_idक्षेत्रं NULL भवितुम् अर्हति, यत् सूचयति यत् अत्र नियुक्तः विभागः नास्ति ।

ON इत्यस्य उपयोगस्य उदाहरणम् : १.

SELECT employees.name, departments.name AS department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.id;