บทช่วยสอน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 ตัวดำเนินการใด ๆ และทั้งหมด


MySQL ตัวดำเนินการใด ๆ และทั้งหมด

ตัว ดำเนินการ ANYและALLช่วยให้คุณสามารถเปรียบเทียบระหว่างค่าคอลัมน์เดียวกับช่วงของค่าอื่นๆ


ผู้ประกอบการใด ๆ

ผู้ANYประกอบการ:

  • ส่งคืนค่าบูลีนเป็นผล
  • คืนค่า TRUE หากค่าเคียวรีย่อยใดๆ ตรงตามเงื่อนไข

ANYหมายความว่าเงื่อนไขจะเป็นจริงหากการดำเนินการเป็นจริงสำหรับค่าใดๆ ในช่วง

ไวยากรณ์ใด ๆ

SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
  (SELECT column_name
 
FROM table_name
 
WHERE condition);

หมายเหตุ:ตัวดำเนินการต้องเป็นตัวดำเนินการเปรียบเทียบมาตรฐาน (=, <>, !=, >, >=, < หรือ <=)


The ALL Operator

ผู้ALLประกอบการ:

  • ส่งคืนค่าบูลีนเป็นผล
  • คืนค่า TRUE หากค่าเคียวรีย่อยทั้งหมดตรงตามเงื่อนไข
  • ใช้กับSELECT, WHEREและHAVINGประโยค

ALLหมายความว่าเงื่อนไขจะเป็นจริงก็ต่อเมื่อการดำเนินการเป็นจริงสำหรับค่าทั้งหมดในช่วง

ไวยากรณ์ทั้งหมดด้วย SELECT

SELECT ALL column_name(s)
FROM table_name
WHERE condition;

ไวยากรณ์ทั้งหมดด้วย WHERE หรือ HAVING

SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
  (SELECT column_name
 
FROM table_name
 
WHERE condition);

หมายเหตุ:ตัวดำเนินการต้องเป็นตัวดำเนินการเปรียบเทียบมาตรฐาน (=, <>, !=, >, >=, < หรือ <=)


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

ด้านล่างนี้คือการเลือกจาก ตาราง "ผลิตภัณฑ์"ในฐานข้อมูลตัวอย่าง Northwind:

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 - 12 oz bottles 19
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10
4 Chef Anton's Cajun Seasoning 2 2 48 - 6 oz jars 22
5 Chef Anton's Gumbo Mix 2 2 36 boxes 21.35
6 Grandma's Boysenberry Spread 3 2 12 - 8 oz jars 25
7 Uncle Bob's Organic Dried Pears 3 7 12 - 1 lb pkgs. 30
8 Northwoods Cranberry Sauce 3 2 12 - 12 oz jars 40
9 Mishi Kobe Niku 4 6 18 - 500 g pkgs. 97

และการเลือกจาก ตาราง "OrderDetails" :

OrderDetailID OrderID ProductID Quantity
1 10248 11 12
2 10248 42 10
3 10248 72 5
4 10249 14 9
5 10249 51 40
6 10250 41 10
7 10250 51 35
8 10250 65 15
9 10251 22 6
10 10251 57 15


SQL ตัวอย่างใด ๆ

คำสั่ง SQL ต่อไปนี้แสดงรายการ ProductName หากพบระเบียนใด ๆ ในตาราง OrderDetails ที่มี Quantity เท่ากับ 10 (ซึ่งจะคืนค่า TRUE เนื่องจากคอลัมน์ Quantity มีค่าบางค่าเป็น 10):

ตัวอย่าง

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10);

คำสั่ง SQL ต่อไปนี้แสดงรายการ ProductName ถ้าพบระเบียนใด ๆ ในตาราง OrderDetails ที่มีปริมาณมากกว่า 99 (ซึ่งจะคืนค่า TRUE เนื่องจากคอลัมน์ปริมาณมีค่าบางค่าที่มากกว่า 99):

ตัวอย่าง

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity > 99);

คำสั่ง SQL ต่อไปนี้แสดงรายการ ProductName ถ้าพบระเบียนใด ๆ ในตาราง OrderDetails ที่มีปริมาณมากกว่า 1000 (ซึ่งจะคืนค่า FALSE เนื่องจากคอลัมน์ปริมาณไม่มีค่าที่มากกว่า 1000):

ตัวอย่าง

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity > 1000);

ตัวอย่าง SQL ทั้งหมด

คำสั่ง SQL ต่อไปนี้แสดงรายการชื่อผลิตภัณฑ์ทั้งหมด:

ตัวอย่าง

SELECT ALL ProductName
FROM Products
WHERE TRUE;

คำสั่ง SQL ต่อไปนี้แสดงรายการ ProductName ถ้าระเบียนทั้งหมดในตาราง OrderDetails มีจำนวนเท่ากับ 10 ซึ่งแน่นอนว่าจะคืนค่า FALSE เนื่องจากคอลัมน์ Quantity มีค่าต่างๆ มากมาย (ไม่ใช่แค่ค่า 10):

ตัวอย่าง

SELECT ProductName
FROM Products
WHERE ProductID = ALL
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10);