កំពុងទៅយកទិន្នន័យពីតារាងច្រើនដោយប្រើ SQL Inner

ផ្នែកខាងក្នុងត្រឡប់ទៅវិញនូវព័ត៌មានដែលលេចឡើងក្នុងមូលដ្ឋានទិន្នន័យពីរឬច្រើន

ការចូលរួមខាងក្នុងគឺជាការចូលរួមញឹកញាប់បំផុតនៅក្នុង SQL ។ ពួកគេត្រឡប់តែព័ត៌មានដែលមានក្នុងតារាងមូលដ្ឋានទិន្នន័យពីរឬច្រើន។ លក្ខខណ្ឌចូលរួមនឹងកំណត់កំណត់ត្រាណាដែលត្រូវបានភ្ជាប់ជាមួយគ្នាហើយត្រូវបានបញ្ជាក់នៅក្នុងឃ្លា WHERE ។ ឧទាហរណ៍ប្រសិនបើអ្នកត្រូវការបញ្ជីអ្នកផ្គូផ្គងអ្នកបើកបររថយន្តដែលមានរថយន្តនិងកម្មវិធីបញ្ជាស្ថិតនៅក្នុងទីក្រុងតែមួយសំណួរ SQL ដូចខាងក្រោមនេះបំពេញភារកិច្ចនេះ:

ជ្រើសរើសនាមត្រកូលនាមខ្លួនស្លាក FROM ពីអ្នកបើកបររថយន្ត WHERE drivers.location = vehicles.location

នេះគឺជាលទ្ធផល:

នាមត្រកូលនាមត្រកូល
----------- ------------ ----
Baker Roland H122JM
smythe Michael D824HA
smythe Michael P091YF
យ៉ាកុប Abraham J291QR
លោក Jacobs Abraham L990MT

ចំណាំថាលទ្ធផលគឺជាអ្វីដែលត្រូវបានស្វែងរក។ វាអាចធ្វើបានដើម្បីសំរួលសំណួរបន្ថែមដោយបញ្ជាក់លក្ខណៈវិនិច្ឆ័យបន្ថែមនៅក្នុងឃ្លា WHERE ។ សន្មតថាសំណួរដើមផ្គូផ្គងអ្នកបើកបរចំពោះយានយន្តដែលពួកគេមិនត្រូវបានអនុញ្ញាតឱ្យបើកបរ (អ្នកបើកបរឡានដឹកទំនិញរថយន្តនិងផ្ទុយទៅវិញ) ។ អ្នកអាចប្រើសំណួរខាងក្រោមដើម្បីដោះស្រាយបញ្ហានេះ:

ជ្រើសរើសនាមត្រកូលនាមខ្លួនស្លាក, រថយន្ត .class ពីអ្នកបើកបរ, យានយន្ត WHERE driver.location = vehicles.location AND driver.class = vehicles.class

ឧទាហរណ៍នេះបញ្ជាក់តារាងប្រភពសម្រាប់គុណលក្ខណៈថ្នាក់នៅក្នុងឃ្លា SELECT ព្រោះថ្នាក់មិនច្បាស់លាស់ - វាបង្ហាញក្នុងតារាងទាំងពីរ។ លេខកូដជាធម្មតាបញ្ជាក់ថាជួរឈរតារាងមួយណាគួរត្រូវបានបញ្ចូលក្នុងលទ្ធផលសំណួរ។ ក្នុងករណីនេះវាមិនមានភាពខុសប្លែកទេដោយសារតែជួរឈរមានដូចគ្នាហើយពួកគេត្រូវបានចូលរួមដោយប្រើគ្រឿងអលង្ការ។ ទោះយ៉ាងណាក៏ដោយប្រសិនបើជួរឈរមានទិន្នន័យខុសគ្នាភាពខុសគ្នានេះនឹងមានសារៈសំខាន់។ នេះជាលទ្ធផលនៃសំណួរនេះ:

នាមត្រកូលនាមត្រកូលនាមត្រកូល
---------- ------------ ---- ------
រថយន្ត Baker Roland H122JM
smythe Michael D824HA Truck
Jacobs Abraham J291QR រថយន្ត

ជួរដេកដែលបាត់បានដាក់លោក Michael Smythe ទៅនឹងរថយន្តមួយនិង Abraham Jacobs ទៅឡានដឹកទំនិញដែលពួកគេមិនត្រូវបានអនុញ្ញាតឱ្យបើកបរ។

អ្នកក៏អាច ប្រើផ្នែកខាងក្នុងដើម្បីបញ្ចូលគ្នាទិន្នន័យពីតារាងបីឬច្រើន