SQL SELECT SUBQUERY
การค้นหาข้อมูลโดยการใช้
SUBQUERY นั้นทำให้เราสามารถค้นหาข้อมูลในรูปแบบที่ซับซ้อนมากขึ้นได้เพราะว่าการใช้งาน
SUBQUERY ก็คือการค้นหาข้อมูลที่เราได้ค้นหามาแล้วนำมาเป็นเงื่อนไขด้วย
ซึ่งคำสั่ง SELECT ที่เราใช้ค้นหาข้อมูลที่จะนำมาทำเป็นเงื่อนไขนั้นเราเรียกว่า
SUBQUERY ดังนั้นถ้าพูดแบบเข้าในง่ายๆ SUBQUERY
คือการใช้คำสั่ง SELECT ซ้อนคำสั่ง SELECT นั่นเองดังนี้
test_select_sub.asp
strSQL = "SELECT Profile_Name, Profile_Age "
strSQL = strSQL & "FROM
Profile "
strSQL = strSQL &
"WHERE Profile_Name = 'user1'"
|
|
คำสั่งนี้เป็นการเลือกแบบง่ายๆ
ที่ได้เรียนไปแล้วในหัวข้อต้นๆ เลือกค่า Profile_Name, Profile_Age โดยที่ Profile_Name = 'user1'
Profile_Name |
Profile_Age |
|
user1
|
23 |
|
|
ทีนี้มาลองใช้ SUBQUERY กัน
strSQL = "SELECT Profile_Name,Profile_Age
"
strSQL = strSQL & "FROM Profile "
strSQL = strSQL & "WHERE Profile_Age
= ( "
strSQL = strSQL & "SELECT Profile_Age "
strSQL = strSQL & "FROM Profile "
strSQL = strSQL & "WHERE Profile_Name
='user1')"
|
|
คำสั่งนี้เป็นการเลือกค่า
Profile_Name,Profile_Age จากตารางProfile
โดยมีเงื่อนไขดังนี้ให้แสดงค่าตาม Profile_Age ที่มีค่า Profile_Name
= user1 ดังนั้นค่าที่แสดงออกมาจะมีค่าตาม Profile_Age ที่ Profile_Name
= user1
Profile_Name |
Profile_Age |
|
user1
|
23 |
user7
|
23 |
|
|
ที่ผมยกตัวอย่างจะเป็นแบบง่ายๆ
ซึ่งหลายๆ คนอาจจะคิดว่าเขียนแบบนี้ก็ได้
strSQL = "SELECT Profile_Name, Profile_Age "
strSQL = strSQL & "FROM
Profile "
strSQL = strSQL &
"WHERE Profile_Age = 23;"
|
|
ซึ่งก็ได้ผลเหมือนกัน แต่ก็อย่างที่บอกเป็นตัวอย่างง่ายๆเพื่อสร้างความเข้าใจที่เหลือคุณต้องไปดัดแปลงเอาเองเพราะฐานข้อมูลแต่ละคนไม่เหมือนกันนะจ๊ะ
ข้อจำกัดในการใช้
SUBQUERY
-
ไม่สามารถใช้วลี
ORDER BY ใน SUBQUERY
ได้ เพราะผลลัพธ์ใน SUBQUERY ถูกนำไปใช้เปรียบเทียบทั้งหมดอยู่แล้วจึงไม่มีความจำเป็นที่จะต้องเรียงลำดับ
-
ไม่สามารถใช้คีย์เวิร์ด
INTO ได้
-
คอลัมน์ที่มีชนิดข้อมูลเป็นแบบ
ntext, text, และ image ไม่สามารถเลือกขึ้นมาได้
-
การใช้งาน SUBQUERY ร่วมกับโอเปอเรเตอร์ที่ใช้เปรียบเทียบเช่น =,
>, < จะไม่สามารถใช้วลี GROUP BY และ
HAVING ได้เว้นแต่จะมีคีย์เวิร์ด ANY,
ALL, SOME
|
ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท
|
|
|
By : |
ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ) |
|
Score Rating : |
|
|
|
Create/Update Date : |
2008-08-10 16:08:50 /
2012-05-30 21:11:23 |
|
Download : |
No files |
|
Sponsored Links / Related |
|
|
|
|
|