วันอังคารที่ 9 ธันวาคม พ.ศ. 2557

SQL ROWNUM



SQL ROWNUM



เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) ที่สามารถกำหนดจำนวน Record ที่แสดงผลออกมาได้

Database : Oracle 

Syntax

SELECT Column1, Column2, Column3,... FROM [Table-Name] WHERE ROWNUM <= [Int-Limit]


Table : customer

CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
C003
Jame Bornjame.born@thaicreate.com
US
3000000600000
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000


Sample1 การเลือกข้อมูลที่มีการใช้ยอดเงินมากที่สุดจำนวน 2 Record 

SELECT * FROM customer WHERE ROWNUM <= 2 ORDER BY Used DESC

Output 

CustomerID
Name
Email
CountryCode
Budget
Used
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000

SQL TOP


SQL TOP 


เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) ที่สามารถกำหนดจำนวน Record ที่แสดงผลออกมาได้

Database : Microsoft Access,SQL Server

Syntax

SELECT TOP [Integer] Column1, Column2, Column3,... FROM [Table-Name] ORDER BY [Field] [ASC/DESC]


Table : customer
CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
C003
Jame Bornjame.born@thaicreate.com
US
3000000600000
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000


Sample1 การเลือกข้อมูลที่จำนวน Budget มากที่สุดออกมา 2 Record 

SELECT TOP 2 * FROM customer ORDER BY Budget DESC

Output 

CustomerID
Name
Email
CountryCode
Budget
Used
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000
C003
Jame Bornjame.smith@thaicreate.com
US
3000000600000

SQL UNION



SQL UNION 



เป็นคำสั่งที่ใช้สำหรับการรวมหลาย Query มารวมให้ใน Table เดียวกับ โดยจำนวน คอลัมบ์หรือฟิวด์นั้นจะต้องเท่ากันด้วย

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax

SELECT Column1,Column2,... FROM [Table-Name]
UNION
SELECT Column1,Column2,... FROM [Table-Name]
...


Table : customer

CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
C003
Jame Bornjame.born@thaicreate.com
US
3000000600000
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000

Table : country

CountryCode
CountryName
TH
Thailand
EN
English
US
United states


Sample1 การรวมข้อมูลของตาราง customer และ country

SELECT CustomerID,Name FROM customer
UNION
SELECT CountryCode,CountryName FROM country

Output 

CustomerID
Name
C001
Win Weerachai
C002
John Smith
C003
Jame Born
C004
Chalee Angel
TH
Thailand
EN
English
US
United states

SQL RIGHT JOIN


SQL RIGHT JOIN 


เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยเงื่อนไขการ RIGHT JOIN จะทำการเลือกข้อมูลหลักและข้อมูลเชื่อมโยงที่สัมพันธ์กัน โดยจะทำการอิงจาก Table สองสำคัญก่อน ถ้าไม่มีข้อมูลใน Table แรก ข้อมูล Table สองก็ยังถูกสนใจและนำมาแสดงผล

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax

SELECT [Table-Name1].Column1, [Table-Name2].Column1,... FROM [Table-Name1]
RIGHT JOIN [Table-Name2] ON [Table-Name1].Column = [Table-Name2].Column


Table : customer



CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
C003
Jame Bornjame.born@thaicreate.com
US
3000000600000
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000
C006
Superman Returnsupermain.return@thaicreate.com
US
20000000

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
10
C005
2008-07-04
200000


Sample1 การเลือกข้อมูลแบบ RIGHT JOIN ตาราง customer และ audit 
SELECT customer.*,audit.* FROM customer
RIGHT JOIN audit ON customer.CustomerID = audit.CustomerID



Output 
CustomerID
Name
Email
Budget
Used
AuditID
Date
Used
C001
Win Weerachai
win.weerachai@thaicreate.com
1000000
600000
1
2008-08-01
100000
C001
Win Weerachai
win.weerachai@thaicreate.com
1000000
600000
2
2008-08-05
200000
C001
Win Weerachai
win.weerachai@thaicreate.com
1000000
600000
3
2008-08-10
300000
C002
John Smith
john.smith@thaicreate.com
2000000
800000
4
2008-08-02
400000
C002
John Smith
john.smith@thaicreate.com
2000000
800000
5
2008-08-07
100000
C002
John Smith
john.smith@thaicreate.com
2000000
800000
6
2008-08-15
300000
C003
Jame Born
jame.smith@thaicreate.com
3000000
600000
7
2008-08-20
400000
C003
Jame Born
jame.smith@thaicreate.com
3000000
600000
8
2008-08-25
200000
C004
Chalee Angel
chalee.angel@thaicreate.com
4000000
100000
9
2008-07-04
100000
NULL
NULL
NULL
NULL
NULL
10
2008-07-04
200000


Sample2 การเลือกข้อมูลแบบ RIGHT JOIN ตาราง customer และ audit และ CustomerID = C005 

SELECT customer.*,audit.* FROM customer
RIGHT JOIN audit ON customer.CustomerID = audit.CustomerID
WHERE audit.CustomerID = 'C005'


Output 

CustomerID
Name
Email
CountryCode
Budget
Used
CustomerID
Used
NULL
NULL
NULL
NULL
NULL
NULL
C005
20000

Sample3 การเลือกข้อมูลแบบ RIGHT JOIN ตาราง customer และ audit และ CustomerID = C005 และแสดงผลเฉพาะตาราง audit 
SELECT audit.* FROM customer
RIGHT JOIN audit ON customer.CustomerID = audit.CustomerID
WHERE audit.CustomerID = 'C005'

Output 
AuditID
CustomerID
Date
Used
10
C005
2008-08-07
200000