ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีใช้คำสั่งย่อย SQL UNION เพื่อรวมผลลัพธ์จากคำสั่ง SELECT สองคำสั่งขึ้นไปเป็นชุดผลลัพธ์เดียว
ภาพประกอบต่อไปนี้แสดงภาพรวมของแบบสอบถาม SQL UNION:
ไวยากรณ์ SQL UNION
ต่อไปนี้แสดงไวยากรณ์สำหรับการรวมคำสั่ง select สองคำสั่งโดยใช้อนุประโยค UNION:
เลือก
col_1,
col_2,
...col_N
จาก
tbl_1
ยูเนี่ยน
เลือก
col_1,
col_2,
...col_N
จาก
tbl_2;
ก่อนดำเนินการคิวรีแบบร่วม ต้องเป็นไปตามข้อกำหนดต่อไปนี้:
- จำนวนคอลัมน์ในแต่ละคำสั่ง select ต้องเหมือนกัน
- คอลัมน์ในตำแหน่งเดียวกันในแต่ละคำสั่ง select ต้องเป็นประเภทข้อมูลที่คล้ายกัน
- ลำดับของคอลัมน์ต้องถูกต้องในคำสั่ง select ทั้งหมด
ให้เราแสดงให้เห็นว่าเราสามารถใช้แบบสอบถามแบบ UNION กับตารางจริงได้อย่างไร
ตารางที่ 1:
ต่อไปนี้แสดงคอลัมน์และข้อมูลในตารางแรก:
id|server_name |address |installed_version|
---------------+--------------+-----------------+
1|SQL Server |localhost:1433|15.0 |
2|Elasticsearch|localhost:9200|8.4.3 |
3|Redis |localhost:6379|6.0 |
4|PostgreSQL |localhost:5432|14.5 |
ตารางที่ 2:
โครงสร้างและเร็กคอร์ดของตารางที่สองมีดังต่อไปนี้:
id|tool |version|licensed |-------------------------------------+---------+---- ----- +
1|SQL Server Management Studio|18.0 |เชิงพาณิชย์|
2|Kibana |7.17.7 |ฟรี |
3|DBeaver |22.2 |Enterprise|
4|DataGrip |2022.2 |เชิงพาณิชย์|
ตาราง SQL UNION
เราสามารถดำเนินการ UNION กับค่าของทั้งสองตารางดังแสดงในแบบสอบถามต่อไปนี้:
เลือกชื่อเซิร์ฟเวอร์,
ติดตั้ง_VERSION
จาก
STACK_MAPPING
ยูเนี่ยน
เลือก
เครื่องมือ,
รุ่น
จาก
คอนเนคเตอร์;
สิ่งนี้ควรรวมการสืบค้นข้อมูลและส่งคืนตารางดังนี้:
server_name |installed_version|---------------------------------------------------------------+
SQL Server |15.0 |
Elasticsearch | 8.4.3 |
Redis |6.0 |
PostgreSQL |14.5 |
สตูดิโอจัดการเซิร์ฟเวอร์ SQL|18.0 |
คิบานะ |7.17.7 |
DBeaver |22.2 |
DataGrip |2022.2 |
บทสรุป
บทความนี้ให้ข้อมูลพื้นฐานในการทำงานกับส่วนคำสั่ง UNION ใน SQL เพื่อรวมผลลัพธ์ของคำสั่ง SELECT สองรายการขึ้นไป อย่าลังเลที่จะตรวจสอบบทช่วยสอนอื่น ๆ สำหรับข้อมูลเพิ่มเติม