SQL
SUB SELECT QUERY
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง
(Table) โดยใช้เลือกข้อมูลย่อยภายใน
SELECT ย่อยอีกชั้นหนึ่งครับSUB SELECT QUERY เข้ามาช่วยในด้านความสะดวกและง่ายกว่าการ JOIN TABLE แต่ข้อเสียของ SUB SELECT คือ
สามารถทำงานได้ช้ากว่า JOIN TABLE
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
SELECT Column1,Column2,Column3,...
FROM [Table-Name] WHERE [Field] IN (SELECT ..... FROM ....)
Table : customer
CustomerID
|
Name
|
Email
|
CountryCode
|
Budget
|
Used
|
C001
|
Win Weerachai
|
win.weerachai@thaicreate.com
|
TH
|
1000000
|
600000
|
C002
|
John Smith
|
john.smith@thaicreate.com
|
EN
|
2000000
|
800000
|
C003
|
Jame Born
|
jame.born@thaicreate.com
|
US
|
3000000
|
600000
|
C004
|
Chalee Angel
|
chalee.angel@thaicreate.com
|
US
|
4000000
|
100000
|
Table : audit
AuditID
|
CustomerID
|
Date
|
Used
|
1
|
C001
|
2008-07-01
|
100000
|
2
|
C001
|
2008-07-05
|
200000
|
3
|
C001
|
2008-07-10
|
300000
|
4
|
C002
|
2008-07-02
|
400000
|
5
|
C002
|
2008-07-07
|
100000
|
6
|
C002
|
2008-07-15
|
300000
|
7
|
C003
|
2008-07-20
|
400000
|
8
|
C003
|
2008-07-25
|
200000
|
9
|
C004
|
2008-07-04
|
100000
|
Sample1 การเลือกข้อมูลตาราง customer ที่เชื่อมโยงกับตาราง audit ที่มีการใช้ยอดเงินในแต่ล่ะครั้งมากกว่า 400000
SELECT * FROM customer WHERE
CustomerID IN (SELECT CustomerID FROM audit WHERE Used >= '400000')
Output
CustomerID
|
Name
|
Email
|
CountryCode
|
Budget
|
Used
|
C002
|
John Smith
|
john.smith@thaicreate.com
|
EN
|
2000000
|
800000
|
C003
|
Jame Born
|
jame.smith@thaicreate.com
|
US
|
3000000
|
600000
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น