Thursday, March 8, 2012

การใช้งาน SubQuery SqlServer

การใช้งาน SUPQUERY 

มาถึงเรื่องของ SUPQUERY กันบ้างนะคะ
ตัวอย่าง

select Customer_name ,zipcode
from Customers
where Zip_code = ANY (Select Zipcode
from Customers
where customername ='KPP'
or customername ='KPO' )


ANY คือ ข้อมูลตัวใดตัวหนึ่งก็ได้ในผลลัพธ์ของซับคิวรี ดังนั้นถ้าเป็น = any จะใช้เปรียบเทียบข้อมูลว่ามีค่าเท่ากันกับผลลัพธ์ในซับคิวรีตัวใดตัวหนึ่งหรือไม่ นั่นเอง คะ นอกจากนี้ยังมี some , all โดย
SOME จะมีความหมายเหมือน ANY
ALL จะมีความหมายเป็น ข้อมูลทั้งหมด ในผลลัพธ์ของซับคิวรี

ข้อจำกัดของการใช้งาน SUBQUERY
1. ไม่สามารถใช้งานวลี order by ในซับคิวรี เพราะผลลัพธ์ในซับคิวรีถูกนำไปใช้เปรียบเทียบทั้งหมดอยู่แล้ว จึงไม่ต้องมีการเรียงลำดับ เว้นแต่จะมีการใช้งานคีย์เวิร์ด TOP ร่วมด้วย
2. ไม่สามารถใช้คีย์เวิร์ด INTO ได้
3.คอลัมน์ที่มีชนิดข้อมูลเป็น ntext , text และ image ไม่สามารถเลือกขึ้นมาได้
4. การใช้ซับคิวรีร่วมกับโอเปอเรเตอร์ ที่ใช้เปรียบเทียบกัน เช่น = < > จะไม่สามารถใช้วลี GROUP BY และ HAVING ได้ เว้นแต่จะมีคีย์เวิร์ด ANY, ALL, SOME

ฝากกันไว้คะสำหรับ SUPQUERY

No comments:

Post a Comment