วันจันทร์ที่ 8 ธันวาคม พ.ศ. 2557

SQL DROP


SQL DROP 
เป็นคำสั่งที่ใช้สำหรับการลบคุณสมบัติต่าง ๆ ของตาราง เช่น ลบตาราง , ลบฐานข้อมูล , ลบ Index

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax

- ลบฐานข้อมูล
DROP TABLE 'TableName'

- ลบตาราง
DROP DATABASE 'DatabaseName'

- ลบ Index
DROP INDEX TableName.IndexName (for SQL Server)
DROP INDEX TableName on IndexName (for Access)

SQL PRIMARY KEYS


SQL PRIMARY KEYS
เป็นคำสั่งที่ใช้สำหรับการสร้าง Primary Keys หรือ Key หลักใน Table สำหรับ Primary Keys ใน 1 Table สามารถมีได้มากกว่า 1 ตัว คุณสมบัติของ Primary Keys คือจะไม่สามารถมีค่าซ้ำกันในส่วนของแต่ล่ะ Rows สำหรับ Primary Keys นิยมกำหนดเป็นรหัสที่ไม่ซ้ำกัน แช่น รหัสลูกค้า 

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax


CREATE TABLE "TableName" 
(
ColumnName1 DataType ,
ColumnName2 DataType ,
ColumnName3 DataType ,
ColumnName4 DataType ,
...
PRIMARY KEY (ColumnName1,ColumnName2...)
)


Sample 1 ทำการสร้างตาราง customer ประก้อบด้วยฟิวด์ CustomerID,Name,Email,CountryCode,Budget,Used และ มี Primary Keys เป็น CustomerID 


CREATE TABLE customer (
CustomerID varchar(4) NOT NULL,
Name varchar(50) NOT NULL,
Email varchar(50) NOT NULL,
CountryCode varchar(2) NOT NULL,
Budget double NOT NULL,
Used double NOT NULL,
PRIMARY KEY (CustomerID)
)

Output 


CustomerID
Name
Email
CountryCode
Budget
Used

Sample 2 กรณีที่มี Table อยู่แล้วสามารถทำการ ALTER เพื่อ เพิ่ม Key เข้าไป 


ALTER TABLE customer ADD PRIMARY KEY (CustomerID)

Output 


CustomerID
Name
Email
CountryCode
Budget
Used

SQL LEFT JOIN


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

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax


SELECT [Table-Name1].Column1, [Table-Name2].Column1,... FROM [Table-Name1]
LEFT 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 การเลือกข้อมูลแบบ LEFT JOIN ตาราง customer และ audit 


SELECT customer.*,audit.* FROM customer
LEFT JOIN audit ON customer.CustomerID = audit.CustomerID

Output 


CustomerID
Name
Email
CountryCode
Budget
Used
AuditID
CustomerID
Date
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
1
C001
2008-08-01
100000
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
2
C001
2008-08-05
200000
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
3
C001
2008-08-10
300000
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
4
C002
2008-08-02
400000
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
5
C002
2008-08-07
100000
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
6
C002
2008-08-15
300000
C003
Jame Bornjame.smith@thaicreate.com
US
3000000600000
7
C003
2008-08-20
400000
C003
Jame Bornjame.smith@thaicreate.com
US
3000000600000
8
C003
2008-08-25
200000
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000
9
C004
2008-07-04
100000
C006
Superman Returnsupermain.return@thaicreate.com
US
20000000
NULL
NULL
NULL
NULL


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


SELECT customer.*,audit.* FROM customer
LEFT JOIN audit ON customer.CustomerID = audit.CustomerID
WHERE customer.CustomerID = 'C001'

Output 


CustomerID
Name
Email
CountryCode
Budget
Used
AuditID
CustomerID
Date
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
1
C001
2008-08-01
100000
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
2
C001
2008-08-05
200000
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
3
C001
2008-08-10
300000


Sample3 การเลือกข้อมูลแบบ LEFT JOIN ตาราง customer และ audit และ CustomerID = C001 และแสดงผลเฉพาะตาราง audit 


SELECT audit.* FROM customer
LEFT JOIN audit ON customer.CustomerID = audit.CustomerID
WHERE customer.CustomerID = 'C001'

Output 


AuditID
CustomerID
Date
Used
1
C001
2008-08-01
100000
2
C001
2008-08-05
200000
3
C001
2008-08-10
300000

วันอาทิตย์ที่ 7 ธันวาคม พ.ศ. 2557

SQL CREATE TABLE


SQL CREATE TABLE
เป็นคำสั่งที่ใช้สำหรับการสร้างตารางใหม่ (Create New Table) ในฐานข้อมูล 

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax


CREATE TABLE "TableName" 
(
ColumnName1 DataType ,
ColumnName2 DataType ,
...
)


Sample1 ทำการสร้างตาราง customer ประก้อบด้วยฟิวด์ฟิวด์ CustomerID,Name,Email,CountryCode,Budget,Used

CREATE TABLE customer (
CustomerID varchar(4) NOT NULL,
Name varchar(50) NOT NULL,
Email varchar(50) NOT NULL,
CountryCode varchar(2) NOT NULL,
Budget double NOT NULL,
Used double NOT NULL
)

Output 

CustomerID
Name
Email
CountryCode
Budget
Used

SQL REPLACE


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

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax


SELECT REPLACE(Field,Search,Replace) AS [New-Field] 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


Sample1 การเลือกข้อมูลโดยทำการแทนที่ค่า Win ด้วย Mr.Win

SELECT REPLACE(Name, 'Win', 'Mr.Win') AS MyName FROM customer

Output 

MyName
Mr.Win Weerachai
John Smith
Jame Born
Chalee Angel


นอกนากนี้ยังสามารถทำ REPLACE ไปแทนที่ในส่วนของ WHERE อีกด้วยครับ 

SQL DISTINCT


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

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax


SELECT DISTINCT Column1,Column2,Column3,... 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


Sample1 การเลือกข้อมูล CountryCode ที่ไม่ซ้ำกัน 

SELECT DISTINCT CountryCode FROM customer

Output 

CountryCode
TH
EN
US

SQL ORDER BY


SQL ORDER BY 
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยจัดเรียงข้อมูลตามต้องการ

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax


SELECT Culumn1,Culumn2,Culumn3,... FROM [Table-Name] ORDER BY [Field] [ASC/DESC],[Field] [ASC/DESC],...
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 การเลือกข้อมูลโดยทำการจัดเรียงจาก CustomerID น้อยไปหามาก หรือ มากไปหาน้อย 

SELECT * FROM customer ORDER BY CustomerID ASC
หรือ
SELECT * FROM customer ORDER BY CustomerID DESC
หรือ
SELECT * FROM customer ORDER BY CountryCode DESC,CustomerID ASC

Output 

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.smith@thaicreate.com
US
3000000600000
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000

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

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