วันเสาร์ที่ 13 ธันวาคม พ.ศ. 2557

คำสั่ง 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_nameSalesDate
Los Angeles$1500Jan-05-1999
San Diego$250Jan-07-1999
Los Angeles$300Jan-08-1999
Boston$700Jan-08-1999

การใช้งาน
  1. SELECT store_name, SUM(sales) FROM Store_Information GROUP BY store_name HAVING SUM(sale)> 1500  



ผลลัพธ์ที่ได้
store_nameSUM(Sales)
Los Angeles$1800

คำสั่ง SQL IN

  1. SELECT "column_name"  
  2. FROM "table_name"  
  3. WHERE "column_name" IN ('value1''value2', ...)

ตาราง Store_Information 
store_nameSalesDate
Los Angeles$1500Jan-05-1999
San Diego$250Jan-07-1999
San Francisco$300Jan-08-1999
Boston$700Jan-08-1999

การใช้งาน
  1. SELECT *  
  2. FROM Store_Information  
  3. WHERE store_name IN ('Los Angeles''San Diego')


ผลลัพธิ์ที่ได้ 

store_nameSalesDate
Los Angeles$1500Jan-05-1999
San Diego$250Jan-07-1999

คำสั่ง SQL BETWEEN

  1. SELECT "column_name"  
  2. FROM "table_name"  
  3. WHERE "column_name" BETWEEN 'value1' AND 'value2'

ตาราง Store_Information 
store_nameSalesDate
Los Angeles$1500Jan-05-1999
San Diego$250Jan-07-1999
San Francisco$300Jan-08-1999
Boston$700Jan-08-1999

การใช้งาน
  1. SELECT *  
  2. FROM Store_Information  
  3. WHERE Date BETWEEN 'Jan-06-1999' AND 'Jan-10-1999'


ผลลัพธิ์ที่ได้ 

store_nameSalesDate
San Diego$250Jan-07-1999
San Francisco$300Jan-08-1999
Boston$700Jan-08-1999




คำสั่ง SQL WHERE

  1. SELECT "column_name" FROM "table_name" WHERE "condition"


ตาราง Store_Information 
store_nameSalesDate
Los Angeles$1500Jan-05-1999
San Diego$250Jan-07-1999
Los Angeles$300Jan-08-1999
Boston$700Jan-08-1999

การใช้งาน
  1. SELECT store_name FROM Store_Information WHERE Sales > 1000


ผลลัพธิ์ที่ได้ 

store_name
Los Angeles

คำสั่ง SQL functions


คำสั่ง SQL มีฟังก์ชั่น (function) ที่ใช้จัดการเกี่ยวกับตัวเลข เช่น
การหาค่าผลรวม หรือ การหาค่าเฉลี่ย ตัวอย่างฟังก์ขัน
     - AVG การหาค่าเฉลี่ย 
     - COUNT การนับจำนวน 
     - MAX การหาค่าสูงสุด
     - MIN การหาค่าต่ำสุด
     - SUM การผาผลรวม
รูปแบบคำสั่ง
  1. SELECT "function type"("column_name"FROM "table_name"


ตาราง Store_Information
store_nameSalesDate
Los Angeles$1500Jan-05-1999
San Diego$250Jan-07-1999
Los Angeles$300Jan-08-1999
Boston$700Jan-08-1999

การใช้งาน
  1. SELECT SUM(Sales) FROM Store_Information


ผลลัพธ์ที่ได้
SUM(Sales)
$2750

คำอธิบาย
$2750 แสดงถึงผลรวมของรายการขาย เกิดจาก: $1500 + $250 + $300 + $700.

คำสั่ง SQL ORDER BY

  1. SELECT "column_name"  
  2. FROM "table_name"  
  3. [WHERE "condition"]  
  4. ORDER BY "column_name" [ASCDESC]
ASC และ DESC คือรูปแบบการเรียงลำดับ
  • ASC เรียงจากน้อยไปหามาก
  • ASC เรียงจากมากไปหาน้อย
นอกจากนี้ยังสามารถกำหนด การจัดเรียงได้มากกว่า 1 คอลัมน์ ดังต่อไปนี้
  1. ORDER BY "column_name1" [ASCDESC], "column_name2" [ASCDESC]

ตาราง Store_Information 
store_nameSalesDate
Los Angeles$1500Jan-05-1999
San Diego$250Jan-07-1999
San Francisco$300Jan-08-1999
Boston$700Jan-08-1999

การใช้งาน
  1. SELECT store_name, Sales, Date  
  2. FROM Store_Information  
  3. ORDER BY Sales DESC


ผลลัพธิ์ที่ได้ 

store_nameSalesDate
Los Angeles$1500Jan-05-1999
Boston$700Jan-08-1999
San Diego$250Jan-07-1999
San Francisco$300Jan-08-1999

นอกจากนี้เราสามารถใช้ตัวเลขกำหนดแทน คอลัมน์ได้ เช่น
  1. SELECT store_name, Sales, Date  
  2. FROM Store_Information  
  3. ORDER BY 2 DESC