ከብዙ ሰንጠረዦች ጋር ውሂብ በ SQL አፈራኝ ውስጥ መሰብሰብ

ውስጣዊ መረጃ ሁለት ወይም ከዚያ በላይ የውሂብ ጎታዎች ውስጥ በሚታየው የመመለሻ መረጃ ውስጥ ይቀላቀላል

የውስጥ መቀላቀል በ SQL ውስጥ በጣም በተደጋጋሚ ጥቅም ላይ የዋሉ ናቸው. እነሱ በሁለት ወይም ከዚያ በላይ የውሂብ ጎታ ማውጫዎች ያለው መረጃ ብቻ ይመለሳሉ. የጋራ ሁኔታው ​​የትኞቹ መዝገቦች አብረው እንደተጣመሩ እና በ WHERE ሐረግ ውስጥ እንደተገለጹ ይወስናል. ለምሳሌ, የተሽከርካሪ እና ሾፌሩ በአንድ ከተማ ውስጥ የሚገኙትን የአሽከርካሪዎች / የተሽከርካሪ ማሽኖች ዝርዝር ካስፈለገዎት የሚከተለው የ SQL ምዝግብ ይህን ተግባር ይፈፀማል:

የመጨረሻ ስም, የመጀመሪያ ስም, መለያ ስም ከሾፌሎች, ተሽከርካሪዎች WHERE drivers.location = vehicles.location

ውጤቶቹ እነሆ:

የአያት ስም የመጀመሪያ ስም መለያ
----------- ------------ ----
ቤከር ሮላንንድ H122JM
ማይክል ሚካኤል D824HA
ስቲይሚ ሚካኤል P091YF
ያዕቆብ ያዕቆብ አብርሃም J291QR
ያዕቆብ አብርሃም L990 ሜ

ውጤቶቹ በትክክል ምን እንደሚፈለጉ ልብ ይበሉ. WHERE ሐረጉ ውስጥ ተጨማሪ መመዘኛዎችን በመጥቀስ ጥያቄውን የበለጠ ማጣራት ይቻላል. የመጀመሪያው መጠይቅ ከአሽከርካሪዎች ጋር ለመንዳት ያልተፈቀደላቸው (ተሸከርካሪ ነጂዎች መኪኖች እና በተቃራኒው) ካሉበት ጋር ይዛመዳል. ይህን ችግር ለመፍታት የሚከተለውን መጠይቅ መጠቀም ይችላሉ:

SELECT lastname, firstname, tag, vehicles.class ከሾፌሎች, ተሽከርካሪዎች WHERE drivers.location = vehicles.location AND driver.class = vehicles.class

ይህ ምሳሌ በ SELECT ውስጥ ያለ የክፍል ውፅአት መነሻ ሰንጠረዥ ይገልጻል ምክንያቱም ክፍሉ አሻሚ ነውና-በሁለቱም ሰንጠረዦች ይታያል. ኮዱ በውጤቶቹ ውስጥ የትኛው ሰንጠረዥ ዓምድ በጥቁር መጠቆሚያ መካተት እንዳለበት ይደነግጋል. በዚህ ሁኔታ, ዓምዶች አንድ ዓይነት ሲሆኑ አንድ ሚዛን (equijoin) በመጠቀም ይቀላቀላሉ. ሆኖም, ዓምዶች የተለያዩ መረጃዎችን ያካተቱ ከሆነ ይህ ልዩነት ወሳኝ ይሆናል. የዚህ መጠይቅ ውጤት ይኸውና:

የአያት ስም የመጀመሪያ ስም መለያ መደብ
---------- ------------ ---- ------
Baker Roland H122JM Car
ስሚዝ ሚካኤል D824HA ጭነት
ያዕቆብ አብርሃም J291QR መኪና

የጎደሉ ረድፎች ማይክል ስቲይትን በመኪና እና በአብርሃም ያዕቆብ ላይ ወደ መኪና እንዲነዱ አልተፈቀደላቸውም.

እንዲሁም ከሶስት ወይም ከሰንጠረዦች ውሂብን ለማጣመር ውስጣዊ ጅቦችን መጠቀም ይችላሉ.