በ mysql ውስጥ ከphp mysqli መጠይቅ። በ PHP ውስጥ የውሂብ ጎታ መጠይቆችን በመላክ ላይ። የ SQL መጠይቅ እቅድ በጥያቄ ተግባር ውስጥ

ከ MySQL አገልጋይ ጋር እንዴት መገናኘት እንዳለብን ተምረናል፣ አብሮ ለመስራት የውሂብ ጎታ ምረጥ፣ መጠይቆችን ወደ MySQL አገልጋይ የመላክን ፒኤችፒ ተግባር ተምረናል፣ ሁለት ቀላል መጠይቆችን ተማርን (ጠረጴዛ መፍጠር እና መሰረዝ) እና ግንኙነቱን እንዴት መዝጋት እንደሚቻል ተምረናል።

አሁን በጥልቀት ወደ MySQL መጠይቆች እንገባለን። ስለዚህ እንጀምር!

ጠረጴዛ መፍጠር - ሠንጠረዥ ፍጠር

አሁን ባዶ የውሂብ ጎታ አለን, በውስጡ ምንም ጠረጴዛዎች የሉም. ስለዚህ በመጀመሪያ ጠረጴዛ እንፈጥራለን. ከመጀመሪያው ክፍል ይህንን እንዴት ማድረግ እንዳለብን አስቀድመን አውቀናል.

የሚያስፈልገንን ምልክት የሚፈጥር የስክሪፕት ኮድ ይኸውና፡-

$link = mysqli_connect ("localhost", "ሥር", "", "ሞካሪ"); (!$link) ከሞተ("ስህተት"); $query = "የጠረጴዛ ተጠቃሚዎችን ፍጠር(መግባት VARCHAR(20)፣ይለፍ ቃል VARCHAR(20))"፤ (mysqli_query($link, $query)) "ሠንጠረዡ ተፈጥሯል" የሚል ከሆነ፤ ሌላ አስተጋባ "ሠንጠረዥ አልተፈጠረም: ".mysqli_error(); mysqli_close($ አገናኝ);

የእኛ ጠረጴዛ ሁለት መስኮች ብቻ ነው ያለው: መግቢያ እና የይለፍ ቃል. ለአሁን ምንም ተጨማሪ አያስፈልገንም, ሂደቱን አናወሳስበው.

ስለዚህ, ጠረጴዛው ተፈጥሯል.

ረድፎችን (መዝገቦችን) ወደ ጠረጴዛ ማከል - INSERT

የ SQL አስገባ ትእዛዝን በመጠቀም አዲስ ረድፍ ወደ ጠረጴዛ ማከል ይችላሉ። አንድ ምሳሌ ይኸውና፡-

$link = mysqli_connect ("localhost", "ሥር", "", "ሞካሪ"); (!$link) ከሞተ("ስህተት"); $query = "ወደ ተጠቃሚዎች አስገባ (መግቢያ፣ የይለፍ ቃል) VALUE ("zeus", "pass123")"; (mysqli_query($link, $ጥያቄ)) "ተጠቃሚ ታክሏል" የሚል ከሆነ፤ ሌላ አስተጋባ "ተጠቃሚ አልተጨመረም:" . mysqli_ስህተት (); mysqli_close($ አገናኝ);

የ SQL መጠይቅ INSERT INTO ትዕዛዝን፣ የውሂብ ጎታ ተጠቃሚዎችን ስም፣ ከዚያም የመስክ ስሞችን በቅንፍ ውስጥ፣ ከዚያም VALUE የሚለውን ቃል፣ በመቀጠልም በቅንፍ ውስጥ የሚጨመሩትን እሴቶች ያካትታል። እሴቶች በትዕምርተ ጥቅስ ውስጥ ተዘግተዋል።

የጥያቄው አገባብ ይህን ይመስላል።

ወደ ሰንጠረዥ_ስም አስገባ (አምድ1፣ አምድ2) እሴት ("x1"፣ "x2")

በሁለተኛው ቅንፍ ውስጥ ያሉ ጥቅሶች ያስፈልጋሉ።

በእሴቶች ምትክ ተለዋዋጮች ሊኖሩ ይችላሉ። አንድ ምሳሌ ይኸውና፡-

$link = mysqli_connect ("localhost", "ሥር", "", "ሞካሪ"); (!$link) ከሞተ("ስህተት"); $login = "ዜኡስ"; $ የይለፍ ቃል = "pass123"; $query = "ወደ ተጠቃሚዎች አስገባ (መግቢያ፣ የይለፍ ቃል) VALUE("$login"፣ "$password")"፤ ከሆነ (mysqli_query($link, $ጥያቄ)) "ተጠቃሚ ታክሏል" የሚል ከሆነ፤ ሌላ አስተጋባ "ተጠቃሚ አልተጨመረም:" . mysqli_ስህተት (); mysqli_close($ አገናኝ);

በእርግጥ ይህ ምሳሌ ትንሽ ትርጉም አይሰጥም. ተጠቃሚዎች በምዝገባ ወቅት የሚያቀርቧቸው መግቢያዎች እና የይለፍ ቃሎች በመረጃ ቋቱ ውስጥ እንዴት እንደሚመዘገቡ ለመስማት ለጀማሪዎች ጠቃሚ ሊሆን ይችላል። ይህ ውሂብ በተለዋዋጮች ውስጥ ይከማቻል እና ከዚያ ከተረጋገጠ በኋላ ወደ ዳታቤዝ ይፃፋል።

ከአንድ INSERT መግለጫ ጋር ብዙ ረድፎችን ለማስገባት ፈጣን መንገድ አለ፡-

ወደ ተጠቃሚዎች አስገባ (መግቢያ፣ የይለፍ ቃል) VALUE ("ቦብ"፣ "eee333")፣ ("Rooki", "12345")፣ ("magy", "olol88e8")

እንደምታየው፣ የተዘረዘረው መረጃ በቀላሉ በነጠላ ሰረዞች ተለያይቷል።

ስለዚህ፣ የ INSERT ትዕዛዝን በመጠቀም፣ መዝገቦችን ወደ ጠረጴዛ እንዴት ማከል እንዳለብን ተምረናል። እንቀጥል።

ሠንጠረዥን ይመልከቱ፡ ትእዛዝን ይምረጡ

አሁን ረድፎች ያሉት የተጠቃሚዎች ጠረጴዛ አለን። የቀደመው ስክሪፕት ብዙ ጊዜ ሊሠራ ይችላል, እና በእያንዳንዱ ጊዜ ወደ ጠረጴዛው አንድ ረድፍ ይጨምራል. አሁን በጠረጴዛው ውስጥ ምን ያህል ረድፎች እንዳሉን ላናውቅ እንችላለን. እና በውስጡ የጻፍነውን ማወቅ እፈልጋለሁ.

ከጠረጴዛ ላይ ውሂብ ለማውጣት፣ የ SELECT SQL ትዕዛዙን ይጠቀሙ። * ምልክቱ ሁሉንም ውሂብ እየጠየቅን ነው ማለት ነው ፣ ከዚያ FROM ከሚለው ቃል በኋላ መረጃ ለማግኘት የምንፈልገውን የሰንጠረዡን ስም እንጽፋለን።

ሁሉንም ውሂብ ከተጠቃሚዎች ሰንጠረዥ እንጠይቅ፡-

$link = mysqli_connect ("localhost", "ሥር", "", "ሞካሪ"); (!$link) ከሞተ("ስህተት"); $query = "ከተጠቃሚዎች * ምረጥ"; $result = mysqli_query($link፣ $ጥያቄ); ከሆነ (!$result) ማሚቶ "ስህተት ተፈጥሯል:" . mysqli_ስህተት (); ሌላ "የተቀበለው ውሂብ" አስተጋባ; mysqli_close($ አገናኝ);

የ mysqli_query() ተግባር የጥያቄውን ውጤት ለዪን መልሷል - በተለዋዋጭ ውስጥ እናስቀምጠው እና በኋላ ሌሎች ፒኤችፒ ተግባራትን በመጠቀም እንሰራለን።

የተጠየቁ መዝገቦች ብዛት

በጥያቄአችን ውስጥ ስንት መስመሮች እንዳሉ እንወቅ? በጠረጴዛው ላይ መዝገብ ለመጨመር ስክሪፕቱን ሮጥኩ ፣ ስንት ጊዜ አላስታውስም እና አሁን በጠረጴዛዬ ውስጥ ምን ያህል ረድፎች እንዳሉ አላውቅም።

በጥያቄው ውጤት ውስጥ ያሉትን የረድፎች ብዛት ለማወቅ mysqli_num_rows() ተግባርን ተጠቀም። ይህ ተግባር የጥያቄውን ውጤት ለዪ አልፏል፣ እና የመዝገቦችን ቁጥር ይመልሳል።

$link = mysqli_connect ("localhost", "ሥር", "", "ሞካሪ"); (!$link) ከሞተ("ስህተት"); $query = "ከተጠቃሚዎች * ምረጥ"; $result = mysqli_query($link፣ $ጥያቄ); ከሆነ (!$result) ማሚቶ "ስህተት ተፈጥሯል:" . mysqli_ስህተት (); ሌላ "የተቀበለው ውሂብ" አስተጋባ; $count = mysqli_num_rows ($ ውጤት); አስተጋባ "በሠንጠረዡ ውስጥ ያሉት ጠቅላላ ረድፎች: $count."; mysqli_close($ አገናኝ);

በሠንጠረዡ ውስጥ ያሉትን የመዝገቦች ብዛት ለማወቅ ከፈለግን, ከላይ ያለው ዘዴ በጣም ተስማሚ አይደለም. እዚህ በመጠይቁ ውስጥ የተገኙትን መዝገቦች ብዛት አግኝተናል, ነገር ግን በሠንጠረዡ ውስጥ ያሉት መዝገቦች ቁጥር በተለየ መንገድ ይፈለጋል.

በሰንጠረዡ ውስጥ ያሉ የመዝገቦች ብዛት ምረጥ COUNT(*)

በሰንጠረዥ ውስጥ ያሉትን የመዝገቦች ብዛት ለማወቅ፣ ከጠረጴዛ_ስም COUNT(*) የሚለውን ትዕዛዝ መጠቀም ትችላለህ።

$link = mysqli_connect ("localhost", "ሥር", ""); (!$link) ከሞተ("ስህተት"); mysqli_select_db("ሞካሪ"); $query = "ከተጠቃሚዎች * ምረጥ"; $result = mysqli_query($link፣ $ጥያቄ); ከሆነ (!$result) ማሚቶ "ስህተት ተፈጥሯል:" . mysqli_ስህተት (); ሌላ አስተጋባ "ውሂብ ተቀብሏል." $count = mysqli_fetch_row ($ ውጤት); አስተጋባ "በሠንጠረዡ ውስጥ ያሉት ጠቅላላ ረድፎች: $count."; mysqli_close($ አገናኝ);

እባክዎ ውሂቡን ለማምጣት አዲሱን ፒኤችፒ ተግባር mysqli_fetch_row() እንደተጠቀምን ልብ ይበሉ። ይህ ተግባር የጥያቄውን ውጤት በቀላል አደራደር መልክ ይመልሳል።

የጥያቄውን ውጤት በ loop ውስጥ በማየት ላይ

የ SQL ጥያቄን በ SELECT ትእዛዝ ከፈጸመ እና የጥያቄውን ውጤት መታወቂያ ካገኘ በኋላ ፒኤችፒ በውጤት መዝገብ ውስጥ የውስጥ ጠቋሚን ይፈጥራል። ይህ ጠቋሚ የአሁኑን መዝገብ ከደረሰ በኋላ በራስ-ሰር ወደ ቀጣዩ መዝገብ ይሸጋገራል። ይህ ዘዴ የ SELECT መጠይቁን የውጤት ስብስብ ለማዞር በጣም ምቹ ያደርገዋል።

ፒኤችፒ ለእያንዳንዱ የውጤት መጠይቁን መስመሮች የያዘ ድርድር የሚያገኙባቸው በርካታ ተግባራት አሉት። ለምሳሌ፣ mysqli_fetch_row() ተግባርን እንውሰድ። ይህ ተግባር የጥያቄ መለያውን አልፏል እና ድርድር ይመልሳል። ስለዚህ, በ loop ውስጥ, አጠቃላይ የጥያቄው ውጤት ይታያል, እና የጥያቄው ውጤት መጨረሻ ላይ ሲደረስ, ተግባሩ ወደ ሐሰት ይመለሳል.

ስለዚህ ሁሉንም መረጃዎች ከተጠቃሚዎች ሰንጠረዥ (ከተጠቃሚዎች ይምረጡ *) እንጠይቃለን።


"፤ ሳለ ($ ረድፍ = mysqli_fetch_row($ውጤት)) (እንደገና "መግባት: $ ረድፍ. የይለፍ ቃል: $ ረድፍ.
"; ) mysqli_close($link);

mysqli_fetch_row() ተግባር ቀለል ያለ ድርድር ይመልሳል። በእያንዳንዱ የ loop ድግግሞሽ ውስጥ ፣ ከጠረጴዛው ላይ ረድፎችን የያዘ ድርድር እንቀበላለን ፣ የቁጥር መረጃ ጠቋሚን በመግለጽ ማግኘት የምንችልባቸውን መስኮች።

የ mysql_fetch_assoc() ተግባርን በመጠቀም ተመሳሳይ ማድረግ ይቻላል፣ተያያዥ ድርድርን ይመልሳል።

$link = mysqli_connect ("localhost", "ሥር", ""); (!$link) ከሞተ("ስህተት"); mysqli_select_db("ሞካሪ"); $result = mysqli_query($link, "ከተጠቃሚዎች * ምረጥ"); ከሆነ (!$result) ማሚቶ "ስህተት ተፈጥሯል:" . mysqli_ስህተት (); ሌላ አስተጋባ "ውሂብ ደርሷል።
"፤ እያለ ($ ረድፍ = mysqli_fetch_assoc($ውጤት)) (እንደገና "መግባት: $ ረድፍ. የይለፍ ቃል: $ ረድፍ.
"; ) mysqli_close($link);

ተግባራትም አሉ mysqli_fetch_array() - ማንኛውንም የድርድር አይነት ይመልሳል፣ እና mysqli_fetch_object() - ዕቃን ይመልሳል።

DISTINCT መጠይቅን ይምረጡ - ልዩ የመስክ እሴቶች

አዲስ ጠረጴዛ እንፍጠር፡-

$link = mysqli_connect ("localhost", "ሥር", ""); (!$link) ከሞተ("ስህተት"); mysqli_select_db("ሞካሪ"); // ነባሩን ሠንጠረዥ mysqli_query ($link, "DROP TABLE ተጠቃሚዎች" ይሰርዙ); // አዲስ ሠንጠረዥ ፍጠር $ጥያቄ = "የ TABLE ተጠቃሚዎችን ፍጠር(ስም VARCHAR(20)፣ የአያት ስም VARCHAR(20)፣ ዕድሜ TINYINT ያልተመዘገበ)"፤ ከሆነ (mysqli_query($link, $query)) "ሠንጠረዡ ተፈጥሯል።
"; ሌላ አስተጋባ" ሠንጠረዥ አልተፈጠረም: " . mysqli_error (); // መዝገቦችን ወደ ጠረጴዛው ተግባር ለመጨመር ተግባር add_new_line($link, $query) (ከ(! mysqli_query($link, $ጥያቄ))) አስተጋባ"ተጠቃሚ አይደለም ታክሏል: " . mysqli_error (); ) // መዝገቦችን ያክሉ add_new_line($link, "INTO INTO ተጠቃሚዎች (ስም, ስም, ዕድሜ) እሴት ("ማክስ", "ጄሰን", "33")"); add_new_line($link) , "ወደ ተጠቃሚዎች አስገባ (ስም, የአባት ስም, ዕድሜ) ዋጋ ("ቦብ", "ነጻ ሰው", "26")"); , "ሎፕስ", "65")"); add_new_line($link, "ወደ ተጠቃሚዎች አስገባ (ስም, ስም, ዕድሜ) VALUE ("Serg", "Pupin", "29")"); add_new_line($link, " ወደ ተጠቃሚዎች (ስም ፣ የአባት ስም ፣ ዕድሜ) ያስገቡ እሴት ("ሰርግ" ፣ "ቦርማን" ፣ "43")"); "ሎፕስ"፣ "21")))))// የሠንጠረዡን ይዘት በአሳሹ አሳይ $result = mysqli_query($link, "SELECT *FROM ተጠቃሚዎች")፤ ከሆነ (! $ውጤት) "ስህተት ተከስቷል፡ ". ሌላ አስተጋባ" ውሂብ ደርሷል.
"፤ ሳለ ($ ረድፍ = mysqli_fetch_assoc($ውጤት)) ( አስተጋባ "የመጀመሪያ ስም: $ ረድፍ. የአያት ስም: $ ረድፍ. ዕድሜ: $ ረድፍ.
"; ) mysqli_close($link);

ስለዚህ፣ ልዩ የሆኑ መዝገቦች ያሉት አዲስ፣ ይበልጥ ውስብስብ የሆነ ጠረጴዛ አለን። አሁን በመረጃ ቋቱ ውስጥ ስንት ስሞች እንዳሉን እንይ።

$link = mysqli_connect ("localhost", "ሥር", ""); (!$link) ከሞተ("ስህተት"); mysqli_select_db("ሞካሪ"); $result = mysqli_query($link, "ከተጠቃሚዎች የተለየ ስም ምረጥ"); አስተጋባ "ጠቅላላ ስሞች:" . mysqli_num_rows($ውጤት)"
"; echo" የስም ዝርዝር፡-
"፤ ሳለ ($ስም = mysqli_fetch_row($ውጤት)) ( አስተጋባ "$name
"; ) mysqli_close($link);

የSQL መጠይቅ "ከተጠቃሚዎች የተለየ ስም ምረጥ" ሁሉንም ልዩ ስሞች በጠረጴዛችን ውስጥ መልሰዋል። እያንዳንዱ ልዩ ስም በአዲስ ረድፍ የጥያቄው ውጤት።

ውጤቱን በመደርደር ላይ - ORDER በ

ORDER BY ትዕዛዙን ወደ SQL መጠይቁ በማከል የጥያቄውን ውጤት ወደ ሽቅብ ቅደም ተከተል (በፊደል ቅደም ተከተል ቁጥሮች እና ፊደሎች) እንመድባለን። መደበኛ መጠይቅን እና በእድሜ (በእድሜ መስክ) የተደረደረውን ማወዳደር የምትችልበት ምሳሌ እዚህ አለ።



";) አስተጋባ" በእድሜ ደርድር፡-
"; $result = mysqli_query($link፣"ከተጠቃሚዎች ትዕዛዝ በእድሜ" ምረጥ)፤ ሳለ ($መስመር = mysqli_fetch_row($ውጤት)) መስመር.
"; ) mysqli_close($link);

በ ORDER BY ትዕዛዝ ውስጥ ያለውን የዕድሜ መስክ በስም መስክ መተካት እና ውጤቱን ማየት ይችላሉ.

የጥያቄውን ውጤት በተገላቢጦሽ ለመደርደር የORDER BY age DESC ትዕዛዙን ተጠቀም።

የማዛመጃ ሁኔታ - የት

የWHERE ትዕዛዙን ወደ SQL መጠይቁ በማከል፣ ሁኔታውን የሚያሟሉ መዝገቦችን ብቻ እንጠይቃለን። ለምሳሌ ከ30 ዓመት በታች ለሆኑ ሰዎች ጥያቄ እናቅርብ።

ይህንን ለማድረግ የ SQL ጥያቄን እንጠቀማለን "SELECT * ከተጠቃሚዎች የት ዕድሜ

$link = mysqli_connect ("localhost", "ሥር", ""); (!$link) ከሞተ("ስህተት"); mysqli_select_db("ሞካሪ"); “ከ30 ዓመት በታች የሆኑ ሰዎች፡-
"; $result = mysqli_query($link, "ከተጠቃሚዎች ምረጥ * ዕድሜ የት<30"); while ($line = mysqli_fetch_row($result)) { echo "Имя: $line. Фамилия: $line. Возраст: $line.
"; ) mysqli_close($link);

እንዲሁም ውጤቱን ወደ ላይ ባለው የዕድሜ ቅደም ተከተል ወዲያውኑ መደርደር እንችላለን-
" ምረጥ * ከተጠቃሚዎች ዕድሜ የት<30 ORDER BY age ".

ጥያቄ ከጠየቅን " ከተጠቃሚዎች የት ዕድሜ ስም ይምረጡ<30 ORDER BY age ", то в результате нам вернут только значения поля "name", но они также будут отсортированы по age.

የሁለት መስኮች እሴቶችን መጠየቅ እንችላለን፡ " ስም ምረጥ፣ ከተጠቃሚዎች ዕድሜ የት

አሁን ሁሉንም ተጠቃሚዎች "ማክስ" የሚለውን ስም እንጠይቅ.

$link = mysqli_connect ("localhost", "ሥር", ""); (!$link) ከሞተ("ስህተት"); mysqli_select_db("ሞካሪ"); “ሁሉም ከፍተኛዎች፡-
"; $result = mysqli_query($link, "SELECT * ከተጠቃሚዎች WHERE name="ማክስ")፤ ሳለ ($መስመር = mysqli_fetch_row($ውጤት)) (የመጀመሪያ ስም: $line. የአያት ስም: $line. ዕድሜ: $ መስመር.
"; ) mysqli_close($link);

እና ሌላ የመጠይቅ ምሳሌ - ከተጠቃሚዎች ሰንጠረዥ ውስጥ ስሞችን ብቻ ይመርጣል, ከማክስ በስተቀር.

ከተጠቃሚዎች ስም ይምረጡ WHERE name!="ከፍተኛ"

ለ WHERE ጥያቄ ያ ብቻ ነው።

ግቤቶችን መገደብ - LIMIT

የ LIMIT ትዕዛዙን ወደ SQL መጠይቁ በማከል የውጤቱን መጠን እንገድባለን።

የመጀመሪያዎቹን ሶስት ግቤቶች የሚመልስ ጥያቄ፡- " SELECT * ከተጠቃሚዎች LIMIT 3 " ነው። እንዴት እንደሚሰራ እንመልከት፡-

$link = mysqli_connect ("localhost", "ሥር", ""); (!$link) ከሞተ("ስህተት"); mysqli_select_db("ሞካሪ"); አስተጋባ" የሰንጠረዥ ይዘቶች፡-
"; $result = mysqli_query($link, "ከተጠቃሚዎች * ምረጥ"); ሳለ ($ መስመር = mysqli_fetch_row($ውጤት)) ( አስተጋባ "የመጀመሪያ ስም: $ መስመር. የአያት ስም: $ መስመር. ዕድሜ: $ መስመር.
";) አስተጋባ"

የመጀመሪያዎቹ ሦስት ግቤቶች:
"; $result = mysqli_query($link, "SELECT * ከተጠቃሚዎች LIMIT 3")፤ ሳለ ($መስመር = mysqli_fetch_row($ውጤት)) .
";) አስተጋባ"

ሁለተኛ ሶስት ግቤቶች፡-
"; $result = mysqli_query($link, "SELECT * ከተጠቃሚዎች LIMIT 3, 3")፤ ሳለ ($መስመር = mysqli_fetch_row($ውጤት)) $ መስመር.
"; ) mysqli_close($link);

እንዲሁም እዚህ መጠይቁን ተጠቀምንበት፡ "SELECT * ከተጠቃሚዎች LIMIT 3፣ 3" ሁለተኛው ሶስት እጥፍ በጥያቄው ውጤት ውስጥ ያለውን ማካካሻ ያሳያል።

የማዛመድ ጥለት - LIKE

የ SQL ቋንቋ ቀላል አብነቶችን ይደግፋል። ይህንን ለማድረግ የLIKE ትዕዛዙን ይጠቀሙ እና የ% ምልክትን በመጠቀም ስርዓተ-ጥለት ይግለጹ።

ሁሉንም መዝገቦች ከደብዳቤ ኤስ ጀምሮ በስም የሚመልስ የምሳሌ መጠይቅ እዚህ አለ።

ከተጠቃሚዎች ይምረጡ * እንደ "S%" ስም

ጥያቄውን እየሞከርኩ ነው፡-

$link = mysqli_connect ("localhost", "ሥር", ""); (!$link) ከሞተ("ስህተት"); mysqli_select_db("ሞካሪ"); አስተጋባ" የሰንጠረዥ ይዘቶች፡-
"; $result = mysqli_query($link, "ከተጠቃሚዎች * ምረጥ"); ሳለ ($ መስመር = mysqli_fetch_row($ውጤት)) ( አስተጋባ "የመጀመሪያ ስም: $ መስመር. የአያት ስም: $ መስመር. ዕድሜ: $ መስመር.
";) አስተጋባ"

በኤስ የሚጀምሩ ስሞች
"; $result = mysqli_query($link፣"ከተጠቃሚዎች ምረጥ *ስም እንደ"S%")፤ ሳለ ($መስመር = mysqli_fetch_row($ውጤት))( አስተጋባ"የመጀመሪያ ስም፡ $line ዕድሜ: $ መስመር.
"; ) mysqli_close($link);

ሁሉንም የአያት ስሞች በ s ፊደል የሚጨርሱ መዝገቦችን የሚመልስ ምሳሌ መጠይቅ እዚህ አለ።

ከተጠቃሚዎች ይምረጡ * እንደ "%s" ስም

ሁኔታ ተሟልቷል - IN

ይህ የ IN ትዕዛዙን በመጠቀም የሚመለሰው ከሁኔታው ጋር የሚዛመዱትን ረድፎች ብቻ ነው።

ለምሳሌ, እድሜያቸው 21, 26 እና 33 ዓመት ለሆኑ ሰዎች ፍላጎት አለን.

ከተጠቃሚዎች ይምረጡ (21,26,33)

ጥያቄውን እየሞከርኩ ነው፡-

$link = mysqli_connect ("localhost", "ሥር", ""); (!$link) ከሞተ("ስህተት"); mysqli_select_db("ሞካሪ"); አስተጋባ" የሰንጠረዥ ይዘቶች፡-
"; $result = mysqli_query($link, "ከተጠቃሚዎች * ምረጥ"); ሳለ ($ መስመር = mysqli_fetch_row($ውጤት)) ( አስተጋባ "የመጀመሪያ ስም: $ መስመር. የአያት ስም: $ መስመር. ዕድሜ: $ መስመር.
";) አስተጋባ"

የሚፈለጉት ዕድሜ ያላቸው (21፣ 26፣ 33)
"; $result = mysqli_query($link፣"ከተጠቃሚዎች ምረጥ *ዕድሜያቸው (21፣ 26፣ 33)")፤ ሳለ ($መስመር = mysqli_fetch_row($ውጤት)) ( አስተጋባ" የመጀመሪያ ስም፡ $ መስመር : $ መስመር. ዕድሜ: $ መስመር.
"; ) mysqli_close($link);

በአምድ ውስጥ ከፍተኛው እና ዝቅተኛ ዋጋ

በተጠቃሚዎች ሠንጠረዥ ውስጥ ከፍተኛውን የዕድሜ እሴት ይመርጣል።

ከፍተኛ(ዕድሜ) ከተጠቃሚዎች ይምረጡ

የሚከተለው መጠይቅ እድሜ አነስተኛውን እሴት የሚወስድበትን ስም እና የዕድሜ መስኮችን በመጠቀም ከተጠቃሚዎች ሰንጠረዥ ውሂብን ይመርጣል።

ከተጠቃሚዎች ስም፣ ደቂቃ(ዕድሜ) ይምረጡ

መዝገብ በማዘመን ላይ - አዘምን

የማክስ ሎፔስን ዕድሜ 15 ዓመት እናድርገው። ይህ የሚደረገው በ MySQL መጠይቅ ነው፡-

ተጠቃሚዎችን ያዘምኑ ዕድሜ = "15" የት ስም = "ከፍተኛ" እና የአያት ስም = "Lopes" ያዘጋጁ

እባክዎ በጥያቄው ውስጥ አዲሱን AND ትዕዛዝ (እና በእንግሊዝኛ "እና" ማለት ነው) ያስተውሉ. የመጨረሻውን ስም ካልገለፅን, የ 15 አመት እድሜ ለሁሉም ማክስዎች በሠንጠረዥ ውስጥ ይዘጋጃል.

በአንድ ረድፍ ሁለት ወይም ከዚያ በላይ መስኮችን በአንድ መጠይቅ ማዘመን ይችላሉ። ይህ እንደሚከተለው ይከናወናል.

ተጠቃሚዎችን ያዘምኑ ዕድሜ = "18", የአያት ስም = "ኩኪ" WHERE id = "3"

የእኛ ጠረጴዛ የመታወቂያ መስክ የለውም፣ ስለዚህ ይህ መጠይቅ በእሱ ላይ አይሰራም። ግን በእርግጠኝነት ይህንን መስክ ልዩ የመስመር ቁጥሮችን እንማራለን ።

ግቤት ሰርዝ - ሰርዝ

መዝገብ ለመሰረዝ MySQL የውሂብ ጎታ ጥያቄ፡-

ከተጠቃሚዎች ይሰርዙ WHERE id = "10"

እንደገና፣ የእኛ ጠረጴዛ የመታወቂያ መስክ የለውም። ነገር ግን ከ 18 አመት በታች የሆኑትን ሁሉንም ሰዎች ከእሱ ማስወገድ እንችላለን.

ዕድሜ የት እንደሆነ ከተጠቃሚዎች ሰርዝ< "18"

ጠረጴዛን ሰርዝ - TABLE ጣል

አጠቃላይ የተጠቃሚዎችን ሰንጠረዥ የሚሰርዝ MySQL የውሂብ ጎታ ጥያቄ፡-

የጠረጴዛ ተጠቃሚዎችን ጣል

አንድ አምድ ሰርዝ - ሠንጠረዥን ቀይር ... ጣል ...

አንዳንድ ጊዜ አንድ አምድ ከጠረጴዛ ላይ ማስወገድ ሊኖርብዎ ይችላል፣ ለምሳሌ የዕድሜ አምድ ከተጠቃሚዎች እናስወግድ፡-

ተለዋጭ የጠረጴዛ ተጠቃሚዎች ዕድሜን ይጥላሉ

ይህ MySQL መጠይቅ አምዱን በቋሚነት እና በቋሚነት ሰርዟል።

አምድ ጨምር - ሠንጠረዥን ቀይር ... ጨምር ...

አንዳንድ ጊዜ አንድ አምድ ወደ አንድ ነባር ሠንጠረዥ ማከል ሊኖርብዎ ይችላል፣ ለምሳሌ የዕድሜ አምድ ወደ የተጠቃሚዎች ሠንጠረዥ እንጨምር፡-

ተለዋጭ የጠረጴዛ ተጠቃሚዎች ዕድሜን ይጨምራሉ TINyint ያልተፈረመ

አንድን አምድ እንደገና በመሰየም ላይ - ሠንጠረዥ ቀይር ... ለውጥ ...

አንዳንድ ጊዜ አንድ አምድ እንደገና መሰየም ሊያስፈልግህ ይችላል፣ ለምሳሌ የእድሜውን አምድ ወደ vozrast እንደገና መሰየም። እኛ እንደዚህ እናደርጋለን-

ተለዋጭ የጠረጴዛ ተጠቃሚዎች ዕድሜን ይለውጣሉ TINYIN አልተመዘገበም።

ይህ MySQL መጠይቅ የአምድ እድሜውን ወደ vozrast የውሂብ አይነት TINYIN ያልተመዘገበ ስም ቀይሮታል።

ሰንጠረዥን እንደገና በመሰየም ላይ - ሠንጠረዥን እንደገና ሰይም ... ወደ ...

አንዳንድ ጊዜ ሰንጠረዡን እንደገና መሰየም ሊያስፈልግዎ ይችላል፡-

የጠረጴዛ ተጠቃሚዎችን ወደ ሰዎች እንደገና ይሰይሙ

የውሂብ ጎታ በማስወገድ ላይ - DROP DATABASE

ይህ መጠይቅ ሞካሪ የሚባል የውሂብ ጎታ መሰረዝ ይችላል፡-

ዳታባሴ ሞካሪን ጣል

የውሂብ ጎታ መፍጠር - DATABASE ፍጠር

ይህ መጠይቅ ሞካሪ የሚባል የውሂብ ጎታ ይፈጥራል፡-

DATABASE ሞካሪ ፍጠር

ይህ ጥያቄ በዴንቨር ውስጥ ይሰራልኛል፣ ነገር ግን በማስተናገጃ ጊዜ የውሂብ ጎታ ተጠቃሚው የመሰረዝ መብት ከሌለው ላይሰራ ይችላል።

ውጤቶች

ስለዚህ፣ በዚህ ክፍል የ MySQL መጠይቆችን ተዋወቅን። ብዙዎቹ የመረመርናቸው መጠይቆች በስራ ሂደት ውስጥ ለእኛ ብዙ ጊዜ አይጠቅሙንም ነገር ግን ስክሪፕቶችን በማዘጋጀት ሂደት ውስጥ ጠቃሚ ሆነው ስለሚገኙ ልናውቃቸው ይገባል።

አንዳንድ ጥያቄዎች ብዙውን ጊዜ የሚቀርቡት ከ phpMyAdmin ብቻ ነው (ለምሳሌ የውሂብ ጎታዎችን መፍጠር እና መሰረዝ)።

በድረ-ገጾች ላይ በሚሰሩበት ጊዜ, ብዙውን ጊዜ መዝገብ ወደ ሠንጠረዥ ማከል, መዝገብ ማስተካከል ወይም መዝገብ ከጠረጴዛ ላይ መሰረዝ ያስፈልግዎታል.

ቀጣዩ ደረጃ ስለ MySQL ውሂብ አይነቶች መማር ነው።

በዚህ ጽሑፍ ውስጥ እንማራለን የውሂብ ጎታ ጥያቄዎችን በ PHP በኩል ይላኩ።. ይህ ጽሑፍ በጣም አስፈላጊ ነው, እና እርስዎ ሊረዱት ይገባል. ሆኖም ግን, አረጋግጥልሃለሁ - ቁሱ በጣም ቀላል ነው, ስለዚህ ምንም ችግሮች ሊኖሩ አይገባም.

ወደ መጣጥፉ ርዕስ ከመሄዳችን በፊት በዝርዝር እንደማልተነተን አስቀድሜ አስጠንቅቄሃለሁ SQL ቋንቋ. ሁሉም አስፈላጊ መረጃዎች በተዘጋጀው ምድብ ውስጥ ተስተካክለዋል, ግን እዚህ እኛ ብቻ ከ MySQL ጋር በ PHP በኩል በመስራት ላይ.

አሁን ወደ እንቀጥል በ PHP ውስጥ የውሂብ ጎታ ጥያቄዎችን በመላክ ላይ:


}
$mysqli->ጥያቄ ("ወደ ሚታቦል (ስም ፣ ኢሜል) አስገባ VALUES ("My Name", " [ኢሜል የተጠበቀ]")");
$ mysqli-> ዝጋ ();
?>

በዚህ ምሳሌ ከመረጃ ቋቱ ጋር ተገናኝተናል፣ የግንኙነቱን ስኬት አረጋግጠናል እና ዘዴውን ተጠቅመን ጥያቄ ልከናል። ጥያቄ(), እና ከዚያ ግንኙነቱን ዘጋው. እንደምታየው, ሁሉም ነገር በጣም ቀላል ነው. ማንኛውንም ለመላክ የ SQL ጥያቄዎችአንድ ዘዴ ብቻ በቂ ነው- ጥያቄ(), ስለዚህ በዚህ ጉዳይ ላይ ሁሉም ነገር በማይታመን ሁኔታ ቀላል ነው.

አሁን ስራውን ትንሽ እናወሳስበው። የሚመለሱትን ጥያቄዎች እንይ የውጤት_ስብስብ- ውጤት. በጣም ታዋቂው በመመለስ ላይ የውጤት_ስብስብከሠንጠረዥ ውስጥ የውሂብ ምርጫ ነው. በሚከተለው ምሳሌ ውስጥ የውሂብ ናሙና እና ከዚያም ውጤቱን እናሳያለን-

$mysqli = @new mysqli ("localhost", "አስተዳዳሪ", "ማለፊያ", "mybase");
ከሆነ (mysqli_connect_errno()) (
አስተጋባ "ግንኙነቱ አልተሳካም: ".mysqli_connect_error();
}
$result_set = $mysqli->
ሳለ ($ ረድፍ = $result_set->fetch_assoc()) (
print_r ($ ረድፍ);
አስተጋባ"
";
}
$result_set-> ዝጋ ();
$ mysqli-> ዝጋ ();
?>

በመጀመሪያ ምን እንደሆነ በጥቂቱ ላብራራ። የውጤት_ስብስብ. የውጤት_ስብስብ- ይህ ውጤት ያለው ጠረጴዛ ነው. ይህ ሰንጠረዥ የመዝገቦች ስብስብ (የጠረጴዛ ረድፎች) አለው. እና ሁሉንም መዝገቦች ለማሳየት በእያንዳንዱ የጠረጴዛው ረድፍ ላይ መደጋገም እና ማሳየት ያስፈልግዎታል. እና አሁን በምሳሌ እገልጻለሁ-ጥያቄ ከላኩ በኋላ, እንፈጥራለን የውጤት_ስብስብ. ከዚያም ለተለዋዋጭ በ loop ውስጥ እንመድባለን ረድፍየሚቀጥለው መስመር ዋጋ, ማለትም, ዘዴው የሚመልሰው ባለ አንድ-ልኬት ድርድር ማምጣት_assoc(). ሁሉም መስመሮች ሲያበቁ, ዘዴው ማምጣት_assoc()ይመለሳል የውሸት, እና ምልልሱ ይወጣል. በ loop ውስጥ እያለየማረም ተግባሩን በመጠቀም ድርድርን ብቻ እናወጣለን። print_r()ምንም እንኳን በእርግጠኝነት በመጠቀም ሊገለጽ ይችላል foreachአሁን ግን ይህ አስፈላጊ አይደለም.

እንዴት መስራት እንዳለብን ባጭሩ እናጠቃልል። የውጤት_ስብስብ:

  1. አግኝ የውጤት_ስብስብተዛማጅ ጥያቄን ወደ ዳታቤዝ በመላክ.
  2. በ loop ውስጥ ፣ በእያንዳንዱ ድግግሞሽ ፣ ቀጣዩን ረድፍ (መዝገብ) ከ ይመድቡ የውጤት_ስብስብዘዴውን በመጠቀም ማምጣት_assoc()አንዳንድ ተለዋዋጭ ረድፍ. ከዚያ ከዚህ ተለዋዋጭ ጋር እንደ አንድ-ልኬት ተባባሪ ድርድር መስራት ይችላሉ ፣ በዚህ ውስጥ ቁልፎቹ የሰንጠረዥ መስኮች ስሞች ናቸው ፣ እና እሴቶቹ አሁን ካለው መዝገብ ጋር ይዛመዳሉ።
  3. መዝጋትዎን ያረጋግጡ የውጤት_ስብስብዘዴ ገጠመ()ሀብቶችን ለማፍሰስ.

እርስዎ እንዳስተዋሉ, ዘዴው ማምጣት_assoc()ሁልጊዜ የሚቀጥለውን መዝገብ ይመልሳል. ይኸውም መጀመሪያ 1 ኛ ከዚያም 2 ኛ ከዚያም 3 ኛ እና የመሳሰሉት። ጥሩ የፕሮግራም አወጣጥ ልምድ ካሎት ፣ ይህ ለውስጣዊ ጠቋሚው ምስጋና ይግባውና እርስዎ በእርግጥ መንቀሳቀስ እንደሚችሉ ወዲያውኑ ይገምታሉ። የት ነው ጥቅም ላይ የሚውለው? ለምሳሌ, ይህ አብሮ መስራት በሚያስፈልግበት ጊዜ ጥቅም ላይ ሊውል ይችላል የውጤት_ስብስብአይደለም 1 , ኤ 2 እና ተጨማሪ ጊዜዎች. ተመሳሳዩን ጥያቄ እንደገና ላለማመንጨት ጠቋሚውን በቀላሉ ወደ መጀመሪያው ማንቀሳቀስ ይችላሉ። እና ከዚያ እንደገና የጭካኔ ኃይል መጀመር ይችላሉ። የውጤት_ስብስብየfetch_assoc() ዘዴን በመጠቀም።

የጠቋሚውን አቀማመጥ ለመለወጥ ዘዴ አለ ውሂብ_ፈልግ()ኢንቲጀር ከ ይወስዳል 0 ወደ " የምዝግብ ማስታወሻዎች ብዛት - 1"በዚህ መሠረት ጠቋሚው ከመለኪያው ጋር በሚዛመደው ግቤት ላይ ተቀምጧል።

$mysqli = @new mysqli ("localhost", "አስተዳዳሪ", "ማለፊያ", "mybase");
ከሆነ (mysqli_connect_errno()) (
አስተጋባ "ግንኙነቱ አልተሳካም: ".mysqli_connect_error();
}
$result_set = $mysqli->ጥያቄ("ከሚታቦል ምረጥ");
$result_set->ቁጥር_ረድፎች;
ሳለ ($ ረድፍ = $result_set->fetch_assoc()) (
print_r ($ ረድፍ);
አስተጋባ"
";
}
$result_set-> ዳታ_ፈልግ (0);
ሳለ ($ ረድፍ = $result_set->fetch_assoc()) (
print_r ($ ረድፍ);
አስተጋባ"
";
}
$result_set-> ዝጋ ();
$ mysqli-> ዝጋ ();
?>

በዚህ ምሳሌ ውስጥ ውፅዓት አለን። የውጤት_ስብስብ ብዛትንብረትን በመጠቀም ቁጥር_ረድፎች. ዘዴውንም ተዋወቅን። ውሂብ_ፈልግ(). ማለትም፣ አጠቃላይ ውጤቱን ደጋግመን ገለጽን፣ ከዚያ ጠቋሚን መለስን። 0መዝገብ እና ውጤቱን እንደገና አልፏል.

በዚህ ጽሑፍ ውስጥ ከመረጃ ቋቱ ጋር መገናኘት እና ግንኙነቱን መዝጋት ደግመናል። እና ደግሞ ተረዳ በ PHP በኩል የውሂብ ጎታ እንዴት እንደሚጠየቅ. አወቅን። የውጤት_ስብስብ እንዴት እንደሚገኝእና ከእሱ ጋር እንዴት እንደሚሰራ. ይህ ስኬታማ ለመሆን ማወቅ ያለብዎት ነገር ሁሉ ነው። በ PHP ውስጥ ከ MySQL ጋር በመስራት ላይ.

ማስታወሻ፡-የበላይ መዋቅር የኃይል መጠይቅበ Excel 2016 እንደ የትዕዛዝ ቡድን ቀርቧል አውርድና ቀይር. በዚህ ጽሑፍ ውስጥ ያለው መረጃ ለኃይል ጥያቄ እና ለአዲሱ ቡድን ይሠራል። ለበለጠ መረጃ በ Excel 2016 ውስጥ ያለውን አውርድ እና ቀይር የሚለውን ይመልከቱ።

በኃይል መጠይቅ አሠራር ውስጥ አክልከመጀመሪያው መጠይቅ ሁሉንም ረድፎች፣ እና ከሁለተኛው መጠይቅ ሁሉንም ረድፎች የያዘ አዲስ ጥያቄ ይፈጥራል።

የደህንነት ማስታወሻ፡- የግላዊነት ደረጃዎችከበርካታ ምንጮች የተገኙ መረጃዎች በድንገት እንዳይዋሃዱ ይከላከሉ፣ ይህም የግል ወይም ድርጅታዊ ሊሆን ይችላል። አንዳንድ መጠይቆችን በሚጠቀሙበት ጊዜ አንድ ተጠቃሚ ሳያውቅ ከግል የውሂብ ምንጭ ወደ ሌላ የውሂብ ምንጭ ሊልክ ይችላል. አጥቂዎች ይህንን እድል ሊጠቀሙበት ይችላሉ. የኃይል መጠይቅ እያንዳንዱን የውሂብ ምንጭ ይመረምራል እና የትብነት ደረጃውን ይወስናል፡ ይፋዊ፣ ድርጅታዊ እና የግል። ስለ ግላዊነት ደረጃዎች የበለጠ መረጃ ለማግኘት የግላዊነት ደረጃዎችን ይመልከቱ።

አክልን በማከናወን ላይ

የመደመር ሥራን በሁለት ዓይነቶች ማከናወን ይችላሉ- መካከለኛ መደመርወይም መስመር ውስጥ አባሪ. ሲጠቀሙ መካከለኛ መደመርለእያንዳንዱ የተጨማሪ ክዋኔ፣ አዲስ መጠይቅ ይፈጠራል። በ መስመር ውስጥ አባሪየመጨረሻውን ውጤት እስክትደርሱ ድረስ መረጃን አሁን ባለው ጥያቄ ላይ ያያይዙታል። ውጤቱ አሁን ባለው ጥያቄ መጨረሻ ላይ አዲስ እርምጃ ነው.

የመስመር ውስጥ መደመር

መካከለኛ መደመር


በተጨማሪ ይመልከቱ፡

ማስታወሻ፡- የጥያቄ አርታዒአዲስ ጥያቄ ሲጭኑ፣ ሲያስተካክሉ ወይም ሲፈጥሩ ብቻ ነው የሚታየው የኃይል መጠይቅ. ቪዲዮው መስኮት ያሳያል መጠይቅ አርታዒበኤክሴል የስራ ደብተር ውስጥ መጠይቅን ካርትዑ በኋላ የሚታይ። ለማየት መጠይቅ አርታዒበስራ ደብተር ውስጥ ያለን ጥያቄ ሳይጭኑ ወይም ሳይቀይሩ በክፍሉ ውስጥ ውጫዊ ውሂብ መቀበልበሬቦን ትር ላይ የኃይል መጠይቅይምረጡ ከሌሎች ምንጮች > ባዶ ጥያቄ. ቪዲዮው ከማሳያ ዘዴዎች አንዱን ያሳያል መጠይቅ አርታዒ.

ሁሉም ሰው ስለ ፓሬቶ ደንብ የሰማ ይመስለኛል። በማንኛውም መስክ 20% ጥረቶች 80% ውጤት ያስገኛሉ. ለምሳሌ፣ 80% የሚሆነውን የልብስ ማጠቢያዎ 20% ይለብሳሉ፣ 20% ደንበኞችዎ 80% ገቢዎን ያመጣሉ ። በ Google ሉሆች ውስጥ አንድ አይነት ነው: ያሉትን ተግባራት 20% ማወቅ, ሁሉንም ሊሆኑ የሚችሉ ችግሮችን 80% መፍታት ይችላሉ.

መጠይቅ ከጎግል ሉሆች በጣም ጠቃሚ ባህሪያት ውስጥ አንዱ ሆኖ አግኝቼዋለሁ። ነገር ግን Google Help በጣም ላዩን በሆነ መልኩ ይገልጸዋል, እና የዚህ ተግባር ሙሉ ኃይል አልተገለጸም. በቅርበት ሲመረመሩ, አብዛኛዎቹን ነባር ተግባራት የመተካት ችሎታ እንዳለው ግልጽ ይሆናል.

ከQUERY ጋር ለመስራት፣ የSQL መሰረታዊ እውቀት ያስፈልግዎታል። ለማያውቁት፣ አይጨነቁ፣ የQUERY ተግባር በጣም መሠረታዊ የሆኑ የSQL ባህሪያትን ይደግፋል።

QUERY አገባብ

QUERY(ውሂብ፤ ጥያቄ፤ [ራስጌዎች])
  • ውሂብ- ይህ ለ SQL መጠይቅ እንደ ዳታቤዝ የሚያገለግል የሕዋስ ክልል ነው።
  • ጥያቄ- የ SQL መጠይቅ ጽሑፍ;
  • ራስጌዎችከድርድር የመጀመሪያዎቹ ረድፎች ውስጥ ስንት ራስጌዎችን እንደያዙ የሚገልጹበት አማራጭ ክርክር ነው።

የተጨማሪ መረጃ ግንዛቤን ከፍ ለማድረግ የሚከተለውን ጎግል ሉህ ለመክፈት እና ለመቅዳት ሀሳብ አቀርባለሁ።

አሁን ቅጂ በፈጠርከው ዶክስ ውስጥ ብዙ ሉሆች አሉ። የዲቢ ሉህ የQUERY ተግባርን ተጠቅመን የምንደርስበት ዳታቤዝ ነው። የደረጃ ሉሆች በዚህ ጽሑፍ ውስጥ የምንመለከታቸው ምሳሌዎችን ይይዛሉ። በእያንዳንዱ አዲስ ደረጃ ምሳሌው ይበልጥ የተወሳሰበ ይሆናል.

የ SQL መጠይቅ እቅድ በጥያቄ ተግባር ውስጥ

ማንኛውም የSQL መጠይቅ የተለያዩ ብሎኮችን ያቀፈ ነው፣ እነሱም ብዙውን ጊዜ ስም ማጥፋት ይባላሉ። SQL ለጥያቄ ተግባር የGoogle Visualization API መጠይቅ ቋንቋ አገባብ ይጠቀማል፣ እሱም የሚከተሉትን ሐረጎች ይደግፋል፡

  • ይምረጡ- በጥያቄው የሚመለሱትን መስኮች መዘርዘር;
  • የት- በጥያቄው የተስተናገደው የውሂብ ድርድር የሚጣራበት የሁኔታዎች ዝርዝር ይዟል።
  • ቡድን በ- ውጤቶቹን ለመቧደን የሚፈልጓቸውን መስኮች ዝርዝር ይዟል;
  • ምሰሶ- የአንድ አምድ ዋጋ እንደ የመጨረሻው ሰንጠረዥ ዓምዶች ስም በመጠቀም የመስቀል-ትሮችን ለመገንባት ይረዳል;
  • ማዘዝ በ- ውጤቱን የመለየት ሃላፊነት አለበት;
  • ገደብ- በዚህ የጥያቄው ክፍል በጥያቄው የተመለሱት የረድፎች ብዛት ላይ ገደብ ማበጀት ይችላሉ;
  • ማካካሻ- ይህንን ስም ማጥፋት በመጠቀም በጥያቄው መከናወን የማይፈልጉትን የመጀመሪያ መስመሮችን ቁጥር ማዘጋጀት ይችላሉ ።
  • መለያ- ይህ ስም ማጥፋት በጥያቄው ለተመለሱት መስኮች ስም ተጠያቂ ነው ።
  • ቅርጸት- የውጤት ውሂብ ቅርጸት ኃላፊነት;
  • አማራጮች -ተጨማሪ የውሂብ ውፅዓት መለኪያዎችን ለማዘጋጀት ያስችላል.

ሰላም ዓለም ለጥያቄ (ምረጥ) ተግባር

ወደ Level_1 ሉህ እንሂድ እና በሴል A1 ውስጥ ያለውን ቀመር እንይ።

መጠይቅ(DB!A1:L1143;"ምረጥ * ገደብ 100")

የቀመርው አካል" ዲቢ!A1፡L1143"ናሙናውን የምንሰራበት የመረጃ ቋት ኃላፊ ነው። ሁለተኛ ክፍል" ይምረጡ * ገደብ 100"የጥያቄውን ጽሑፍ ራሱ ይዟል። በዚህ ጉዳይ ላይ ያለው "*" ምልክት ማለት በመረጃ ቋቱ ውስጥ ያሉትን ሁሉንም መስኮች መመለስ ማለት ነው. በመጠቀም" ገደብ 100» ውጤቱን ወደ 100 መስመሮች እንገድባለን. ይህ በጣም ቀላሉ ጥያቄ ምሳሌ ነው። የመጀመሪያዎቹን 100 ረድፎች ከመረጃ ቋቱ ውስጥ መርጠናል. ይህ ለመጠይቁ ተግባር የ"ሄሎ አለም" አይነት ነው።

ማጣሪያዎችን እና መደርደርን እንጠቀማለን (በየት ፣ በማዘዝ)

ወደ ሉህ ደረጃ_2 ይሂዱ። የምንፈልጋቸውን አንዳንድ መስኮች ብቻ እንመርጥና የማጣራት እና የመደርደር ሁኔታዎችን እናስቀምጥ። ለምሳሌ፣ ውሂብ የምንጠቀመው ከኦክቶበር 22-25፣ 2015 ድረስ ለዘመቻ_1 እና ለዘመቻ_2 ዘመቻዎች ብቻ ነው። በክፍለ-ጊዜዎች ብዛት በሚወርድ ቅደም ተከተል እንያቸው። ለማጣራት እና ለመደርደር የስም ማጥፋት መግለጫውን በጥያቄው ጽሑፍ ላይ ማከል ያስፈልግዎታል የትእና እዘዝ. በውጤቱ ሠንጠረዥ ውስጥ ከላይ የተገለጸውን ምሳሌ ለማሳየት የዘመቻ፣ ቀን እና ክፍለ ጊዜ መስኮች ያስፈልጉናል። በስም ማጥፋት ውስጥ መዘርዘር ያለባቸው እነሱ ናቸው ይምረጡ.

የውሂብ ጎታ መስኮች የመረጃ ቋቱ በሚገኝበት የስራ ሉህ ዓምዶች ስም ይደርሳሉ።

በእኛ ሁኔታ, በዲቢ ሉህ ላይ የተቀመጠው መረጃ እና ወደ አንዳንድ መስኮች መድረስ እንደ የሉህ አምዶች ስም ተጽፏል. ስለዚህ, የሚፈለጉት መስኮች በሚከተሉት አምዶች ውስጥ ይገኛሉ.

  • መስክ ቀን- አምድ A;
  • መስክ ዘመቻ- አምድ B;
  • መስክ ክፍለ-ጊዜዎች- አምድ ጂ.

በዚህ መሠረት በውጤቱ የውሂብ ውፅዓት ዝርዝር ውስጥ ኃላፊነት ያለው የጥያቄው ክፍል ይህንን ይመስላል።

A፣ B፣ G ይምረጡ

ቀጥሎ በጥያቄው ውስጥ ስም ማጥፋት ነው። የት. ጥያቄን በሚጽፉበት ጊዜ, ስም ማጥፋት በዚህ ጽሑፍ የመጀመሪያ ክፍል ውስጥ በተገለጸው ቅደም ተከተል መቀመጥ አለበት. ከማስታወቂያው በኋላ የትየማጣሪያ ሁኔታዎችን መዘርዘር ያስፈልገናል. በዚህ አጋጣሚ ውሂቡን በዘመቻ ስም (ዘመቻ) እና ቀን (ቀን) እናጣራለን። በርካታ የማጣሪያ ሁኔታዎችን እንጠቀማለን. የጥያቄው ጽሑፍ በሁሉም ሁኔታዎች መካከል አመክንዮአዊ ኦፕሬተር OR ወይም AND መያዝ አለበት። በቀናት ማጣራት በቁጥር እና በጽሁፍ ዋጋዎች ከማጣራት ትንሽ የተለየ ነው; መረጃን የማጣራት ኃላፊነት ያለው የጥያቄው ክፍል ይህን ይመስላል።

የት (ሀ > = ቀን"2015-10-22" እና ሀ<= date"2015-10-25") AND (B = "Campaign_1" OR B = "Campaign_2")

ቅንፎችን በመጠቀም የመረጃ ማጣሪያን በሁለት ምክንያታዊ ክፍሎች ከፍለናል-የመጀመሪያዎቹ ማጣሪያዎች በቀን ፣ ሁለተኛው ማጣሪያ በዘመቻ ስም። በዚህ ደረጃ፣ የሚመረጠውን ውሂብ እና የውሂብ ማጣሪያ ሁኔታዎችን የሚገልጽ ቀመር ይህን ይመስላል።

መጠይቅ(DB!A1፡L1143፤"A፣B፣G WHERE(A >= ቀን"2015-10-22"እና ሀ ምረጥ<= date"2015-10-25") AND (B = "Campaign_1" OR B = "Campaign_2")")

በዚህ ልጥፍ ውስጥ ለምሳሌ በአዲስ ሉህ ላይ እንደ ምሳሌ በተጠቀመበት ሰነድ ላይ ቀድተው መለጠፍ እና የሚከተለውን ውጤት ማግኘት ይችላሉ።

ከተለመዱት የሎጂክ ኦፕሬተሮች በተጨማሪ (=,<, >) WHERE ብሎክ ተጨማሪ የማጣሪያ ኦፕሬተሮችን ይደግፋል፡-

  • ይዟል- በአንድ ሕብረቁምፊ ውስጥ የተወሰኑ ቁምፊዎችን ይዘት ይፈትሻል። ለምሳሌ፣ A 'John'ን የያዘበት ቦታ ሁሉንም እሴቶች ከአምድ ሀ ወደ ማጣሪያው ይመለሳል፣ ጆን ያካተቱ ለምሳሌ፣ ጆን አዳምስ፣ ሎንግ ጆን ሲልር፣
  • በሚል ይጀምራል- ዋጋዎችን በቅድመ-ቅጥያ ያጣራል፣ ማለትም በመስመሩ መጀመሪያ ላይ ቁምፊዎችን ይፈትሻል። ለምሳሌ፣ በ 'en' ይጀምራል የምህንድስና እና የእንግሊዝኛ እሴቶችን ይመልሳል።
  • ጋር ያበቃል- በሕብረቁምፊው መጨረሻ ላይ ዋጋዎችን ያጣራል። ለምሳሌ, መስመር 'ካውቦይ "በ"ወንድ" ወይም "በ"ይ ያበቃል" ይመለሳል;
  • ግጥሚያዎች- ከመደበኛ አገላለጽ ጋር ይዛመዳል። ለምሳሌ: የት ይዛመዳል ‘.*ኢያ ህንድ እና ናይጄሪያ እሴቶቹን ይመልሳል።
  • እንደ -ቀለል ያለ የመደበኛ አገላለጾች ሥሪት፣ አንድ ሕብረቁምፊ የዱር ምልክት ቁምፊዎችን በመጠቀም ከተሰጠው አገላለጽ ጋር የሚስማማ መሆኑን ያረጋግጣል። በአሁኑ ጊዜ፣ ልክ እንደ ሁለት የዱር ምልክት ቁምፊዎችን ይደግፋል፡ "%" ማለት በሕብረቁምፊው ውስጥ ያሉ የማንኛውም ቁምፊዎች ቁጥር ማለት ነው፣ እና "_" ማለት ማንኛውም አንድ ቁምፊ ማለት ነው። ለምሳሌ፣ "እንደ 'fre%' ያለ ስም" ከመስመሮቹ ጋር ይዛመዳል 'ፍሪ ’, ፍሬድ እና 'ፍሬዲ ’.

መጠይቁ አስቀድሞ ለተወሰነ ጊዜ ውሂቡን አጣርቷል እና የምንፈልጋቸውን ዘመቻዎች ብቻ ትቷል። የሚቀረው በክፍለ-ጊዜዎች ብዛት ላይ በመመስረት ውጤቱን ወደታች በቅደም ተከተል መደርደር ነው። በእነዚህ መጠይቆች ውስጥ መደርደር በባህላዊ መንገድ ለ SQL በስም ማጥፋት ይከናወናል ያዝዙ. አገባቡ በጣም ቀላል ነው፡ ውጤቱን ለመደርደር የሚፈልጓቸውን መስኮች መዘርዘር ብቻ እና እንዲሁም የመደርደር ቅደም ተከተልን ይግለጹ። ነባሪው ቅደም ተከተል asc ነው ፣ ማለትም ፣ ወደ ላይ። የዴስክ መለኪያውን ከመስኩ ስም በኋላ ከገለፁት መጠይቁ ውጤቱን በስም ማጥፋት ውስጥ በተገለጹት ቅደም ተከተሎች ይመልሳል ያዝዙመስኮች.

በእኛ ሁኔታ፣ በጥያቄው ጽሑፍ ውስጥ ያለው መስመር የማጣራት ሃላፊነት ይኖረዋል፡-

በG desc ያዝዙ

በዚህ መሠረት እኛ የምንፈልገውን ችግር የሚፈታው በደረጃ_2 ሉህ ላይ ያለው የቀመር የመጨረሻ ውጤት ይህንን ይመስላል።

መጠይቅ(DB!A1:L1143;" A, B, G WHERE (A >= date"2015-10-22" እና A ምረጥ<= date"2015-10-25") AND (B = "Campaign_1" OR B = "Campaign_2") ORDER BY G DESC")

አሁን ውሂብ ለማጣራት እና ለመደርደር ቀላል የSQL አገባብ እና የQUERY ተግባርን መጠቀም ትችላለህ።

".
ምናልባት ከሞስኮ ቢሮ የመጡ ሰዎች ጊዜ የላቸውም, ስለዚህ የሚከተለው የጥያቄ ቋንቋ ማጣቀሻ (ስሪት 0.7) ነፃ ትርጉም ይሆናል.
ጉግል ቪዥዋል ኤፒአይ የጥያቄ ቋንቋ (ስሪት 0.7)
የጉግል ቪዥዋል ኤፒአይ መጠይቅ ቋንቋ በመረጃ ምንጩ ላይ መረጃን እንዲቆጣጠሩ ይፈቅድልዎታል።

በተለምዶ፣ ምስላዊነት በተወሰነ መልኩ መረጃ እንዲቀርብ ይፈልጋል። ለምሳሌ፣ የፓይ ገበታ ሁለት ዓምዶችን ይፈልጋል፡ የጽሑፍ መለያ እና የቁጥር እሴት። የመረጃ ምንጩ ከዚህ መዋቅር ጋር ላይዛመድ ይችላል። ተጨማሪ ዓምዶችን ሊይዝ ይችላል፣ ወይም ቅደም ተከተላቸው ለገበታው ከሚያስፈልገው የተለየ ይሆናል።
የጥያቄ ቋንቋ ውጤቱን ለማግኘት በሚያስፈልገን መንገድ መረጃን እንድናዋቅር ያስችለናል።
የጥያቄ ቋንቋ አገባብ ከSQL ጋር ተመሳሳይ ነው። SQLን በመጠቀም የተካኑ ሰዎች የጥያቄ ቋንቋውን በፍጥነት ማወቅ ይችላሉ። የአገባብ ክፍሉ የእነዚህን ቋንቋዎች ልዩነት ይዘረዝራል።
ለዕይታ የጥያቄ ቋንቋ መጠቀም ሁልጊዜ አስፈላጊ እንዳልሆነ ልብ ይበሉ። እሱን ለመጠቀም መሠረት ይፈልጋል። ወደ ይዘቱ።

የጥያቄ ቋንቋን በመጠቀም

የመጠይቅ ሕብረቁምፊን ወደ የውሂብ ምንጭ በሁለት መንገድ ማከል ይችላሉ፡ ከጃቫስክሪፕት ኮድ ወይም እንደ መለኪያ ወደ የውሂብ ምንጭ አገናኝ። አገናኝዎ የጥያቄ መለኪያዎችን ካልያዘ በነባሪነት አጠቃላይ የውሂብ ስብስብ ይመለሳል። መጠይቁን ከውሂቡ ምንጭ ጋር በማስተካከል ይህን ስብስብ መቀየር ይችላሉ።

በጎግል ሉሆች ውስጥ የQUERY ተግባርን እየተጠቀሙ ከሆነ የሚከተሉትን ነጥቦች መዝለል እና ወደ ቀጣዩ ክፍል መሄድ ይችላሉ።

ከጃቫስክሪፕት ጥያቄን በማዘጋጀት ላይ

የጥያቄ ሕብረቁምፊውን ከጃቫስክሪፕት ኮድ ለማዘጋጀት ስልቱን መደወል ያስፈልግዎታል setQueryክፍል google.visualization.Query .
var መጠይቅ = አዲስ google.visualization.Query(DATA_SOURCE_URL);
query.setQuery ("የዲፓርትመንት, ድምር (ደመወዝ) ቡድን በዲፓርትመንት ምረጥ");
query.send(handleQueryResponse);

መለኪያውን በመጠቀም ወደ የውሂብ ምንጭ የመጠይቅ ሕብረቁምፊ መጨመር ይቻላል tq. በዚህ መንገድ የውሂብ ስብስብዎን በቀላሉ በማስተካከል በሌሎች ገንቢዎች የተፃፉ ምስሎችን መጠቀም ይቻላል.
የጥያቄው ሕብረቁምፊ በትክክል እንደ ዩአርኤል ግቤት መመሳጠር አለበት። የጃቫስክሪፕት ተግባርን መጠቀም ትችላለህ encodeURIComponentለኤንኮዲንግ ወይም በክፍሉ መጨረሻ ላይ መሳሪያውን በመጠቀም እራስዎ ያድርጉት.
ለምሳሌ
የጉግል ሉህ የምሳሌ መጠይቅን እንይ (የአምድ ለዪዎች ሁል ጊዜ ፊደሎች መሆናቸውን አስታውስ። ሲታተም የአምድ ስሞች መለያዎች አይደሉም። በጥያቄው ውስጥ ጥቅም ላይ መዋል ያለባቸው የአምድ መለያዎች ናቸው)
ኮድ ካደረጉ በኋላ ጥያቄው እንደዚህ ይመስላል።
%20A%2C%20sum(B)%20group%20by%20A ምረጥ
የዳታ ሠንጠረዡ አድራሻ የሚከተለው ነው ብለን እናስብ።
http://spreadsheets.google.com/a/google.com/tq?key=ABCDE
የጥያቄ መለኪያ እንጨምር &tq=YOUR_QUERY_STRINGወደ ጠረጴዛው አገናኝ እና ዝግጁ የሆነ የመጠይቅ ሕብረቁምፊ ያግኙ
http://spreadsheets.google.com/a/google.com/tq?key=ABCDE&tq=select%A%2C%20sum(B)%20group%20by%20A

የቋንቋ አገባብ

ግምገማ

የእኔ መጠይቅ ቋንቋ ከ SQL ጋር በጣም ተመሳሳይ ነው። ሆኖም ግን, ግምት ውስጥ መግባት ያለባቸው አንዳንድ ባህሪያት አሉ.
የውሂብ ሰንጠረዥ
ይህ ሰነድ የጥያቄውን ውጤት ለማመልከት የ"ዳታ ሰንጠረዥ" ጽንሰ-ሀሳብ ያስተዋውቃል። ሠንጠረዡ ረድፎችን እና አምዶችን ያካትታል. እያንዳንዱ አምድ የሚከተሉትን ባህሪያት አሉት:
  • መለያ (ወይም የአምድ መታወቂያ). የሰንጠረዥ አምዶችን ለማመልከት ጥቅም ላይ ይውላል። እባክዎን አንድን አምድ በመለየት ብቻ መጥቀስ እንደሚያስፈልግዎ ልብ ይበሉ። ተንኮልክፍተቶችን በመለየት ውስጥ ላለመጠቀም ይሞክሩ፣ይህ ጥያቄውን ለማርትዕ ችግር ይፈጥራል። በተጨማሪም፣ ሁሉም ቦታ ያላቸው ለዪዎች በኋለኛ ጥቅሶች ውስጥ መያያዝ አለባቸው።
  • መለያ. ይህ በተለምዶ ለዋና ተጠቃሚዎች የሚታየው ሕብረቁምፊ ነው። ለምሳሌ፣ በፓይ ገበታ ውስጥ ያለ አፈ ታሪክ ወይም በሠንጠረዥ ገበታ ውስጥ ያለ ርዕስ። በGoogle ሉሆች ውስጥ ለQUERY() ተግባር አይተገበርም።.
  • የውሂብ አይነቶች. የሚከተሉት የውሂብ ዓይነቶች ይደገፋሉ፡ ሕብረቁምፊ፣ ቁጥር፣ ቡሊያን፣ ቀን፣ የቀን ሰዓት፣ የቀን ሰዓት። በአንድ አምድ ውስጥ ያሉ ሁሉም እሴቶች የዚያ አምድ የውሂብ አይነት ወይም ባዶ ይሆናሉ።
  • እነዚህ የመረጃ አይነቶች ከጃቫስክሪፕት አይነቶች ጋር በጣም ተመሳሳይ ናቸው፣ ግን ተመሳሳይ አይደሉም። በጽሑፋዊ ክፍል ውስጥ ተገልጸዋል.አብነቶችን በመቅረጽ ላይ
. የውሂብ ሠንጠረዦች ለሁሉም ወይም ለአንዳንድ አምዶች የቅርጸት ንድፎችን መደገፍ ይችላሉ።
እነዚህ በቅርጸት ክፍል ውስጥ ተገልጸዋል.
በሁሉም ምሳሌዎች ውስጥ ጥቅም ላይ የሚውል የውሂብ ሰንጠረዥ
በዚህ ሰነድ ውስጥ ያሉት ምሳሌዎች ከሚከተሉት የውሂብ እና የአምድ ዓይነቶች ጋር ሰንጠረዥ ይጠቀማሉ።
ስም
በዚህ ሰነድ ውስጥ ያሉት ምሳሌዎች ከሚከተሉት የውሂብ እና የአምድ ዓይነቶች ጋር ሰንጠረዥ ይጠቀማሉ።
ሕብረቁምፊ
ዲፕ

የምሳ ሰዓት
የቀን ሰዓት

ደሞዝ
ቁጥር
የቅጥር ቀን
ቀን
ዕድሜ
ቁጥር
ከፍተኛ ነው።
ቡሊያን
ከፍተኛ ደረጃStartTime የቀን ጊዜ 12:00:00 2005-03-19 35 ዮሐንስ 2007-12-02 15:56:00
ኢንጅነር የቀን ጊዜ 12:00:00 2006-04-19 27 የውሸት እውነት ነው።
ዴቭ የቀን ጊዜ 13:00:00 2005-10-10 30 የውሸት እውነት ነው።
ባዶ ሳሊ 12:00:00 2002-10-10 32 ዮሐንስ 2005-03-09 12:30:00
ቤን ሳሊ 12:00:00 2004-09-08 25 የውሸት እውነት ነው።
ሽያጭ ዳና 13:00:00 2005-01-10 24 ዮሐንስ 2007-12-30 14:40:00

ማይክ

ግብይት
ኦፕሬተር አጠቃቀም
ይምረጡ የትኞቹ ዓምዶች እንደሚመለሱ እና በምን ቅደም ተከተል እንደሚመለሱ ይመርጣል። ኦፕሬተሩ ከተተወ ሁሉም የሠንጠረዡ ዓምዶች ይመለሳሉ.
ከሁኔታ ጋር የሚዛመዱትን የጠረጴዛ ረድፎች ብቻ ይመልሳል። ኦፕሬተሩ ከተተወ በሠንጠረዡ ውስጥ ያሉት ሁሉም ረድፎች ይመለሳሉ.
ቡድን በ የቡድኖች እሴቶችን በረድፍ።
ምሰሶ በአምዶች ውስጥ ያሉ ልዩ እሴቶችን ወደ አዲስ አምዶች ይለውጣል፣ ልክ እንደ የምሰሶ ሠንጠረዥ።
ማዘዝ በ በእሴቶች ላይ በመመስረት ረድፎችን ይመድባል።
ገደብ በሚመለሱት ረድፎች ላይ ገደብ ያዘጋጃል።
ማካካሻ ከውጤቱ የተወሰኑ የረድፎች ብዛት ይዘላል።
መለያ ለአምዶች መግለጫ ጽሑፎችን ያዘጋጃል።
ቅርጸት በቅርጸት ቅጦች መሰረት በተገለጹት አምዶች ውስጥ እሴቶችን ይቀርፃል።
አማራጮች ተጨማሪ አማራጮችን ያዘጋጃል።
ከዋኙ ጥቅም ላይ አይውልም.
ይምረጡ
የመረጡት መግለጫ የትኞቹ ዓምዶች መመለስ እንዳለባቸው እና በምን ቅደም ተከተል ይገልፃል. ኦፕሬተሩ ካልተገለጸ ወይም * የሚለውን ከመረጡ ሁሉም የሰንጠረዥ አምዶች በመጀመሪያው ቅደም ተከተል ይመለሳሉ። ዓምዶች በመለያዎች ሊጣቀሱ ይችላሉ፣ ነገር ግን በመለያዎች አይደለም። በጎግል ሉሆች ውስጥ ያሉ መለያዎች አንድ ወይም ባለ ሁለት ፊደል የአምድ ስሞች (A፣ B፣ C፣ ...፣ AC፣ ...፣ DC፣ ...) ናቸው።
የኦፕሬተር መለኪያዎች የአምድ መለያዎች፣ ድምር ተግባራት፣ ስካላር ተግባራት ወይም የሂሳብ ኦፕሬተሮች ሊሆኑ ይችላሉ።
ምሳሌዎች፡-
ይምረጡ *
ደሞዝ ይምረጡ
ከፍተኛ (ደሞዝ) ይምረጡ
የኢሜል አድራሻቀን):

ውጤቱን እናገኛለን:
የምሳ ሰዓት ስም
12:00:00 ከፍተኛ ደረጃStartTime
12:00:00 ኢንጅነር
13:00:00 ዴቭ
12:00:00 ባዶ
12:00:00 ቤን
13:00:00 ሽያጭ
ሁኔታዎችን የሚያሟሉ ረድፎችን ብቻ ለመመለስ መግለጫው ጥቅም ላይ ይውላል።
ቀላል የንፅፅር ኦፕሬተሮች ሁኔታዎችን ለመግለጽ ጥቅም ላይ ይውላሉ<=, <, >, >=, =, !=, <>. ሁለቱም ኦፕሬተሮች! =,<>ማለት ነው። እኩል አይደለም. ሕብረቁምፊዎች የሚነፃፀሩት በመዝገበ ቃላት እሴታቸው ነው። ማስታወሻ፣ እኩልነት የሚፈተሸው በ = ኦፕሬተር ነው፣ እና እንደ ብዙ ቋንቋዎች በ== አይደለም።. ከንቱ ጋር ማነፃፀር የሚከናወነው ባዶ ነው እና ባዶ አይደለም። በGoogle ሉሆች ውስጥ QUERY()ን ሲጠቀሙ፣በተለምዶ የሕብረቁምፊው መስክ ከንቱነት ይልቅ ባዶ ዋጋ ያለው "" አለው።
አመክንዮአዊ ኦፕሬተሮችን በመጠቀም ብዙ ሁኔታዎችን ማጣመር ይችላሉ እና, ወይም, አይደለም. ቅድመ-ዝንባሌዎች ግልጽ የሆነ ቅድሚያን ለመግለጽ ጥቅም ላይ ይውላሉ.

መግለጫው ይበልጥ ውስብስብ የሕብረቁምፊ ንጽጽሮችን ለማከናወን ተጨማሪ ኦፕሬተሮችን ይጠቀማል። እነዚህ ኦፕሬተሮች ሁለት ነጋሪ እሴቶችን ይወስዳሉ እነዚህም ሕብረቁምፊዎች መሆን አለባቸው, ማንኛውም የሕብረቁምፊ ያልሆነ ነጋሪ እሴት (ቀን, ቁጥር) ከማነፃፀር በፊት ወደ ሕብረቁምፊ ይቀየራል. ንጽጽሩ ለጉዳይ ስሜታዊ ነው (ይህን ባህሪ ለማለስለስ፣ የስክላር ተግባራትን የላይኛው() የታችኛው() ይጠቀሙ)።
ይዟል - ከንዑስ ሕብረቁምፊ ጋር ይዛመዳል. የሕብረቁምፊው ክፍል ሙሉ በሙሉ ከተሰጠው ነጋሪ እሴት - ንዑስ ሕብረቁምፊ ጋር የሚዛመድ ከሆነ አገላለጹ እውነት ይመለሳል። ለምሳሌ፣ “ዮሐንስ” የያዘው ስም ይመለሳል "ጆን", "ጆን አዳምስ", "ሎንግ ጆን ሲልቨር"ግን አይደለም "ጆን አዳምስ".

ምሳሌዎች፡-
ይምረጡ *
ደሞዝ ይምረጡ
ከፍተኛ (ደሞዝ) ይምረጡ
የሚከተለው ምሳሌ ከቦታዎች ጋር መለያ ማጣቀሻዎችን መጠቀምን ያሳያል ( የኢሜል አድራሻ) እና ከተያዙ ቃላት ስም ጋር ለሚዛመዱ ለዪዎች ( ቀን):
'ኢሜል አድራሻ'፣ ስም፣ 'ቀን' ይምረጡ
የሚከተለውን ጥያቄ ወደ ምሳሌ ሠንጠረዥ እንተገብረው፡-
ውጤቱን እናገኛለን:
የምሳ ሰዓት ስም
12:00:00 ከፍተኛ ደረጃStartTime
12:00:00 ኢንጅነር
13:00:00 ዴቭ
12:00:00 ባዶ
12:00:00 ቤን
13:00:00 ሽያጭ