คำสั่ง SQL
1. คำสั่ง SQL เพื่อสุ่มข้อมูลมาแสดง
ยกตัวอย่างผมมีตารางชื่อ news แล้วอยากจะสุ่มข้อมูลมาแสดงแค่ 1 ข่าวจาก 5 ข่าวล่าสุดที่ update ผมจะต้องเขียนคำสั่ง SQL ในการSelect ข้อมูลอย่างไร
ใช้คำสั่งดังนี้ครับ
1.
SELECT column FROM table ORDER BY RAND() LIMIT 1
2. คำสั่ง SQL SELECT
1. SELECT "column_name" FROM "table_name"
ตาราง Store_Information
|
store_name
|
Sales
|
Date
|
|
Los Angeles
|
$1500
|
Jan-05-1999
|
|
San Diego
|
$250
|
Jan-07-1999
|
|
Los Angeles
|
$300
|
Jan-08-1999
|
|
Boston
|
$700
|
Jan-08-1999
|
ตัวอย่างคำสั่ง
1. SELECT store_name FROM Store_Information
ผลลัพธิ์ที่ได้
|
store_name
|
|
Los Angeles
|
|
San Diego
|
|
Los Angeles
|
|
Boston
|
เราสามารถเลือกหลายคอลัมน์ หรือหลายตารางได้
ตัวอย่างการเลือกทุกคอลัมน์ในตาราง
1. SELECT * FROM "table_name"
ตัวอย่างการเลือกคอลัมน์หลายคอลัมน์ในตราง
1. SELECT column1,column2,... FROM "table_name" // คั่นแต่ละคอลัมน์ด้วย ,(comma)
3. คำสั่ง SQL DISTINCT
1. SELECT DISTINCT "column_name" FROM "table_name"
ตาราง Store_Information
|
store_name
|
Sales
|
Date
|
|
Los Angeles
|
$1500
|
Jan-05-1999
|
|
San Diego
|
$250
|
Jan-07-1999
|
|
Los Angeles
|
$300
|
Jan-08-1999
|
|
Boston
|
$700
|
Jan-08-1999
|
การใช้งาน
1. SELECT DISTINCT store_name FROM Store_Information
ผลลัพธิ์ที่ได้
|
store_name
|
|
Los Angeles
|
|
San Diego
|
|
Boston
|
4. คำสั่ง SQL AND OR
1. SELECT "column_name"
2. FROM "table_name"
3. WHERE "simple condition"
4. {[AND|OR] "simple condition"}+
ตาราง Store_Information
|
store_name
|
Sales
|
Date
|
|
Los Angeles
|
$1500
|
Jan-05-1999
|
|
San Diego
|
$250
|
Jan-07-1999
|
|
San Francisco
|
$300
|
Jan-08-1999
|
|
Boston
|
$700
|
Jan-08-1999
|
การใช้งาน
1. SELECT store_name
2. FROM Store_Information
3. WHERE Sales > 1000
4. OR (Sales < 500 AND Sales > 275)
ผลลัพธิ์ที่ได้
|
store_name
|
Sales
|
Date
|
|
Los Angeles
|
$1500
|
Jan-05-1999
|
|
San Francisco
|
$300
|
Jan-08-1999
|
5. คำสั่ง SQL WHERE
1. SELECT "column_name" FROM "table_name" WHERE "condition"
ตาราง Store_Information
|
store_name
|
Sales
|
Date
|
|
Los Angeles
|
$1500
|
Jan-05-1999
|
|
San Diego
|
$250
|
Jan-07-1999
|
|
Los Angeles
|
$300
|
Jan-08-1999
|
|
Boston
|
$700
|
Jan-08-1999
|
การใช้งาน
1. SELECT store_name FROM Store_Information WHERE Sales > 1000
ผลลัพธิ์ที่ได้
|
store_name
|
|
Los Angeles
|
6. คำสั่ง SQL functions
คำสั่ง SQL มีฟังก์ชั่น (function) ที่ใช้จัดการเกี่ยวกับตัวเลข เช่น
การหาค่าผลรวม หรือ การหาค่าเฉลี่ย ตัวอย่างฟังก์ขัน
- AVG การหาค่าเฉลี่ย
- COUNT การนับจำนวน
- MAX การหาค่าสูงสุด
- MIN การหาค่าต่ำสุด
- SUM การผาผลรวม
รูปแบบคำสั่ง
1. SELECT "function type"("column_name") FROM "table_name"
ตาราง Store_Information
|
store_name
|
Sales
|
Date
|
|
Los Angeles
|
$1500
|
Jan-05-1999
|
|
San Diego
|
$250
|
Jan-07-1999
|
|
Los Angeles
|
$300
|
Jan-08-1999
|
|
Boston
|
$700
|
Jan-08-1999
|
การใช้งาน
1. SELECT SUM(Sales) FROM Store_Information
ผลลัพธ์ที่ได้
|
SUM(Sales)
|
|
$2750
|
คำอธิบาย
$2750 แสดงถึงผลรวมของรายการขาย
เกิดจาก: $1500 + $250 + $300 + $700.
7. คำสั่ง SQL HAVING
HAVING ใช้เมื่อมีการใช้ฟังก์ชัน
ในคำสั่ง SQL เช่น SUM หรือ AVG เป็นต้น
โดยเมื่อการกำหนดเงื่อนไข จึงจำเป็นต้องใช้ HAVING แทนWHERE เพื่อคงคุณสมบัติของฟังก์ชันไว้
คำสั่ง HAVING อาจจะมีคำสั่ง GROUP
BY หรือไม่มีรวมอยู่ด้วยก็ได้
รูปแบบคำสั่ง
1. SELECT "column_name1", SUM("column_name2") FROM "table_name"
2. GROUP BY "column_name1" HAVING (arithmetic function condition)
ตาราง Store_Information
|
store_name
|
Sales
|
Date
|
|
Los Angeles
|
$1500
|
Jan-05-1999
|
|
San Diego
|
$250
|
Jan-07-1999
|
|
Los Angeles
|
$300
|
Jan-08-1999
|
|
Boston
|
$700
|
Jan-08-1999
|
การใช้งาน
1. SELECT store_name, SUM(sales) FROM Store_Information GROUP BY store_name HAVING SUM(sales) > 1500
ผลลัพธ์ที่ได้
|
store_name
|
SUM(Sales)
|
|
Los Angeles
|
$1800
|
8. คำสั่ง SQL BETWEEN
1. SELECT "column_name"
2. FROM "table_name"
3. WHERE "column_name" BETWEEN 'value1' AND 'value2'
ตาราง Store_Information
|
store_name
|
Sales
|
Date
|
|
Los Angeles
|
$1500
|
Jan-05-1999
|
|
San Diego
|
$250
|
Jan-07-1999
|
|
San Francisco
|
$300
|
Jan-08-1999
|
|
Boston
|
$700
|
Jan-08-1999
|
การใช้งาน
1. SELECT *
2. FROM Store_Information
3. WHERE Date BETWEEN 'Jan-06-1999' AND 'Jan-10-1999'
ผลลัพธิ์ที่ได้
|
store_name
|
Sales
|
Date
|
|
San Diego
|
$250
|
Jan-07-1999
|
|
San Francisco
|
$300
|
Jan-08-1999
|
|
Boston
|
$700
|
Jan-08-1999
|
9. คำสั่ง SQL IN
1. SELECT "column_name"
2. FROM "table_name"
3. WHERE "column_name" IN ('value1', 'value2', ...)
ตาราง Store_Information
|
store_name
|
Sales
|
Date
|
|
Los Angeles
|
$1500
|
Jan-05-1999
|
|
San Diego
|
$250
|
Jan-07-1999
|
|
San Francisco
|
$300
|
Jan-08-1999
|
|
Boston
|
$700
|
Jan-08-1999
|
การใช้งาน
1. SELECT *
2. FROM Store_Information
3. WHERE store_name IN ('Los Angeles', 'San Diego')
ผลลัพธิ์ที่ได้
|
store_name
|
Sales
|
Date
|
|
Los Angeles
|
$1500
|
Jan-05-1999
|
|
San Diego
|
$250
|
Jan-07-1999
|
10. คำสั่ง SQL GROUP BY
GROUP BY ใช้เมื่อเราต้องการเลือกคอลัมน์หลายๆ
คอลัมน์จากตาราง และมีฟังก์ชันทางคณิตศาสตร์ อย่างน้อยหนึ่งคำสั่งอยู่ในคำสั่ง SQL เพื่อมาทำการจัดกลุ่มตามคอลัมน์ที่เลือก
ยกเว้นคอลัมน์ที่มีฟังก์ชันทางคณิตาศารต์อยู่
รูปแบบคำสั่ง
1. SELECT "column_name1", SUM("column_name2") FROM "table_name" GROUP BY "column_name1"
ตาราง Store_Information
|
store_name
|
Sales
|
Date
|
|
Los Angeles
|
$1500
|
Jan-05-1999
|
|
San Diego
|
$250
|
Jan-07-1999
|
|
Los Angeles
|
$300
|
Jan-08-1999
|
|
Boston
|
$700
|
Jan-08-1999
|
การใช้งาน
1. SELECT store_name, SUM(Sales) FROM Store_Information GROUP BY store_name
ผลลัพธ์ที่ได้
|
store_name
|
SUM(Sales)
|
|
Los Angeles
|
$1800
|
|
San Diego
|
$250
|
|
Boston
|
$700
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น