บทช่วยสอนMySQL

หน้าแรกของ MySQL แนะนำ MySQL MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL WHERE MySQL และหรือไม่ใช่ MySQL สั่งซื้อโดย MySQL INSERT INTO ค่า NULL ของ MySQL MySQL UPDATE MySQL ลบ MySQL LIMIT MySQL MIN และ MAX MySQL COUNT, AVG, SUM MySQL ชอบ MySQL Wildcards MySQL IN MySQL ระหว่าง MySQL นามแฝง MySQL เข้าร่วม เข้าร่วม MySQL ภายใน MySQL ซ้ายเข้าร่วม MySQL ขวาเข้าร่วม MySQL CROSS เข้าร่วม MySQL เข้าร่วมด้วยตนเอง MySQL UNION กลุ่ม MySQL โดย MySQL มี MySQL EXISTS MySQL ใด ๆ ทั้งหมด MySQL INSERT SELECT กรณี MySQL ฟังก์ชั่น MySQL Null ความคิดเห็น MySQL ตัวดำเนินการ MySQL

ฐานข้อมูลMySQL

MySQL สร้าง DB MySQL Drop DB MySQL สร้างตาราง MySQL Drop Table MySQL Alter Table ข้อจำกัดของ MySQL MySQL ไม่ว่าง MySQL Unique คีย์หลัก MySQL MySQL Foreign Key MySQL Check MySQL Default MySQL สร้างดัชนี MySQL Auto Increment MySQL Dates มุมมอง MySQL

การอ้างอิงMySQL

ประเภทข้อมูล MySQL ฟังก์ชัน MySQL

ตัวอย่างMySQL

ตัวอย่าง MySQL แบบทดสอบ MySQL แบบฝึกหัด MySQL

ตัว ดำเนิน การ MySQL UNION


ตัวดำเนินการ MySQL UNION

ตัวUNIONดำเนินการใช้เพื่อรวมชุดผลลัพธ์ของ SELECT คำสั่งตั้งแต่สองตัวขึ้นไป

  • ทุกSELECTคำสั่งภายใน UNIONต้องมีจำนวนคอลัมน์เท่ากัน
  • คอลัมน์ต้องมีประเภทข้อมูลที่คล้ายกัน
  • คอลัมน์ในทุกSELECTคำสั่งต้องอยู่ในลำดับเดียวกันด้วย

ไวยากรณ์ยูเนี่ยน

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

UNION ALL ไวยากรณ์

ตัวUNIONดำเนินการเลือกเฉพาะค่าที่แตกต่างกันตามค่าเริ่มต้น หากต้องการให้ค่าที่ซ้ำกัน ให้ใช้UNION ALL:

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

หมายเหตุ:ชื่อคอลัมน์ในชุดผลลัพธ์มักจะเท่ากับชื่อคอลัมน์ในSELECTคำสั่ง แรก


ฐานข้อมูลสาธิต

ในบทช่วยสอนนี้ เราจะใช้ฐานข้อมูลตัวอย่างที่รู้จักกันดีของ Northwind

ด้านล่างนี้คือการเลือกจากตาราง "ลูกค้า":

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

และการเลือกจากตาราง "ซัพพลายเออร์":

SupplierID SupplierName ContactName Address City PostalCode Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. London EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA


ตัวอย่าง SQL UNION

คำสั่ง SQL ต่อไปนี้จะคืนค่าเมือง (เฉพาะค่าที่แตกต่างกัน) จากทั้งตาราง "ลูกค้า" และ "ซัพพลายเออร์":

ตัวอย่าง

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

หมายเหตุ:หากลูกค้าหรือซัพพลายเออร์บางรายมีเมืองเดียวกัน แต่ละเมืองจะแสดงรายการเพียงครั้งเดียว เนื่องจากUNIONจะเลือกเฉพาะค่าที่แตกต่างกัน ใช้ UNION ALLเพื่อเลือกค่าที่ซ้ำกัน!


SQL UNION ALL Example

คำสั่ง SQL ต่อไปนี้จะคืนค่าเมือง (ค่าที่ซ้ำกันด้วย) จากทั้งตาราง "ลูกค้า" และ "ซัพพลายเออร์":

ตัวอย่าง

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

SQL UNION ด้วย WHERE

คำสั่ง SQL ต่อไปนี้จะคืนค่าเมืองในเยอรมัน (เฉพาะค่าที่แตกต่างกัน) จากทั้งตาราง "ลูกค้า" และ "ซัพพลายเออร์":

ตัวอย่าง

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

SQL UNION ทั้งหมดด้วย WHERE

คำสั่ง SQL ต่อไปนี้จะคืนค่าเมืองในเยอรมนี (ค่าที่ซ้ำกันด้วย) จากทั้งตาราง "ลูกค้า" และ "ซัพพลายเออร์":

ตัวอย่าง

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

อีกตัวอย่างหนึ่งของสหภาพ

คำสั่ง SQL ต่อไปนี้แสดงรายการลูกค้าและซัพพลายเออร์ทั้งหมด:

ตัวอย่าง

SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;

สังเกต "ประเภท AS" ด้านบน - เป็นนามแฝง SQL Aliasesใช้เพื่อตั้งชื่อชั่วคราวให้กับตารางหรือคอลัมน์ นามแฝงมีอยู่ในช่วงเวลาของการสืบค้นเท่านั้น ดังนั้น เราจึงได้สร้างคอลัมน์ชั่วคราวชื่อ "ประเภท" ซึ่งระบุว่าผู้ติดต่อคือ "ลูกค้า" หรือ "ซัพพลายเออร์"