..


ลิงก์ผู้สนับสนุน

ยูเนี่ยนการรวมผลที่ได้จากสองตาราง

บทความที่เขียนโดย Max Bossi

ภาษา SQL ให้เราเป็นวิธีที่ค่อนข้างง่ายที่จะรวมภายในคำสั่ง SELECT เดียวกันผลลัพธ์ที่ได้จากสองตารางที่แตกต่างกัน

เพื่อให้บรรลุนี้ถึงเวลาที่จะใช้ all'opertore ยูเนี่ยนซึ่งจะในความเป็นจริงสหภาพแรงงานของผลลัพธ์ที่ได้จากการสอบถามทั้งสองตาราง

ทราบว่าในเพื่อที่จะได้ใช้อย่างถูกต้องก็ถึงเวลาที่ผู้ประกอบการที่ยูเนี่ยน :

  • ว่าตารางที่จะมีการสอบถามเกี่ยวกับจำนวนเดียวกันของคอลัมน์;
  • การร้องขอให้คอลัมน์ที่มีชื่อเดียวกัน;
  • คอลัมน์ที่จำเป็นต้องใช้ในทั้งสองตารางมีข้อมูลที่สอดคล้องกันประเภท;
นี่คือตัวอย่าง : สมมติว่ามีการดำเนินการเกี่ยวกับฐานข้อมูลของหน่วยงานเดินทางสมมุติและคิดว่า DB เรามีเพียงสองตาราง :
  • hotel_italia
    • ชื่อ
    • ดาว
    • เมือง
    • ประเทศชาติ
  • hotel_europa
    • ชื่อ
    • ดาว
    • เมือง
    • ประเทศชาติ
ตอนนี้สมมติว่าลูกค้าต้องการให้เรารู้ว่ามีอย่างใดอย่างหนึ่งของโรงแรมในอิตาลีและในยุโรป





 เลือกชื่อ, ดาว, เมือง, ประเทศ







 จาก hotel_italia







 ยูเนี่ยน







 เลือกชื่อ, ดาว, เมือง, ประเทศ







 จาก hotel_europa



กับแบบสอบถามนี้เราได้รับรายการที่สมบูรณ์ของโรงแรมทั้งหมดในตารางที่สอง :

ชื่อ ดาว เมือง ประเทศชาติ
Cavour Hotel 4 กรุงโรม EN
Miramare Hotel 2 คาทอลิก EN
Manzoni โรงแรม 2 มิลาน EN
Espana Hotel 3 มาดริด ES
ฮิลตัน 5 ลอนดอน สหราชอาณาจักร
Schlossgarten Hotel am 4 สตุตกา DE

หมายเหตุ : โปรดทราบว่ายูเนี่ยนจะไม่แสดงระเบียนที่ซ้ำกันใด ๆ (ตามค่าเริ่มต้นทำงานเป็นว่าเป็น SELECT DISTINCT ), และถ้าคุณต้องการใด ๆ ระเบียนที่ซ้ำกันนอกจากนี้ยังแสดง (คิดว่ากลับไปตัวอย่างของเราที่โรงแรมในการนี้ ทั้งในตารางในที่ hotel_italia hotel_europa) ที่จะต้องใช้ UNION ALL

การเรียงลำดับและ จำกัด ผลที่เกิดจากการยูเนี่ยน

สมมติว่าผลของการใช้ยูเนี่ยนและอีกหลายต้องการให้พวกเขาถูก จำกัด ให้ใช้จำนวนที่ระบุ อย่างไร? นี่คือทางออกที่ :

 



 SELECT * FROM







 (ชื่อ SELECT, ดาว, เมือง, ประเทศจาก hotel_italia







 ยูเนี่ยน







 ชื่อ SELECT, ดาว, เมือง, ประเทศจาก hotel_europa)







 AS Hotel







 ORDER BY DESC LIMIT 10 ดาว

 
เป็นหลักที่เราปฏิบัติต่อผลลัพธ์ที่เกิดขึ้นจากสหภาพของสองคนหรือมากกว่าตารางที่เป็นหากพวกเขาเป็นผลมาจากตารางเดียวโดยการทำเช่นนี้เราสามารถใช้การเรียงลำดับมาตรฐานและ จำกัด

ในประเภทเดียวกัน ...
E - Learning
MS Access (Advanced) MS Access (Advanced)
เรียนรู้วิธีสร้างและจัดการฐานข้อมูลอย่างรวดเร็วและง่ายดาย เริ่มต้นจาก 29 €
MySQL (Course) MySQL (Course)
การบริหารจัดการฐานข้อมูลโอเพนซอร์ส จาก 39 €
SQL และฐานข้อมูล (หลักสูตร) SQL และฐานข้อมูล (หลักสูตร)
การสร้างและจัดการฐานข้อมูลเชิงสัมพันธ์ จาก 39 €
ลิงก์ผู้สนับสนุน