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

คำสั่ง SQL

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

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax

SELECT SUBSTR(Name,0,2) As MySubStr FROM customer


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 การเลือกข้อมูลโดยทำการตัดตำแหน่งที่ 1 ถึง 3 

SELECT SUBSTR(Name,1,3) AS MySubStr FROM customer

Output 

MySubStr
Win
Joh
Jam
Cha


Sample2 การเลือกข้อมูลโดยทำการตัดตำแหน่งจากสุดท้ายไปทางซ้าย 3 หลัก และเริ่มนับไปทางขวาอีก 3 หลัก 

SELECT SUBSTR(Name,-3,3) AS MySubStr FROM customer

Output 

MySubStr
hai
ith
orn
gel



2.SQL AUTO_INCREMENT For MySQL
เป็นคำสั่งที่ใช้สำหรับการสร้าง Auto Number หรือตัวเลขรันอัตโนมัติ,

Database : MySQL

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

หรือในกรณี ALTER

ALTER TABLE "TabmeName" CHANGE ColumnName1 ColumnName1 DataType AUTO_INCREMENT

Sample 1 ต้องการสร้างตารางชื่อ audit ประกอบด้วย Column ชื่อ AuditID , CustomerID , Date , Used มี AuditID เป็น AUTO_INCREMENT 

CREATE TABLE audit (
AuditID int(4) NOT NULL auto_increment,
CustomerID varchar(4) NOT NULL,
Date date NOT NULL,
Used double NOT NULL,
PRIMARY KEY (AuditID)
);

โดยค่าจะเริ่มต้นเป็น 1,2,3,4,5,6 .... แต่ถ้าต้องการให้มี 0 ข้างหน่้าเช่น 0001,0002,0003 สามารถใส่ Attributes ชื่อ UNSIGNED ZEROFILL


ALTER TABLE audit CHANGE AuditID AuditID INT( 4 ) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT



3.SQL NULL / ISNULL
เป็นคำสั่งที่ใช้สำหรับการกำหนดเงื่อนไขการแสดงผล NULL รูปแบบการอ่านค่า กำหนนดเงื่อนไข ของ Column ในรูปแบบต่าง ๆ 

Database : SQL Server

Syntax

NULL , IS NULL , ISNULL

รูปแบบการใช้งาน 


SELECT * FROM table WHERE Column = NULL
หรือ
SELECT * FROM table WHERE Column IS NULL หรือ Column NOT NULL
SELECT * FROM table WHERE ISNULL(Column,'1') // ถ้ามีค่าเป็น Null ให้มีค่าเป็น 1


4.SQL DAY, MONTH, YEAR
เป็นคำสั่งที่ใช้ในการแปลง Format ของวันที่ให้อยู่ในรูปแบบ DAY , MONTH , YEAR 

Database : MySQL,Microsoft Access,SQL Server

Syntax

SELECT DAY(Column)
SELECT MONTH(Column)
SELECT YEAR(Column)


นอกจาก SELECT แล้วยังสามารถทำมาเป็น WHERE ได้ด้วย เช่น


SELECT * FROM table WHERE DAY(Column) = 1 and MONTH(Column) = 07 and YEAR(Column) = 2008


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 การเลือกข้อมูลจากตาราง audit โดยแสดงวันที่ และทำการ WHERE เดือน และ ปี ที่ต้องการ 

SELECT DAY(Date) As ListDay FROM audit WHERE MONTH(Date) = '7' AND YEAR(Date) = '2008'

Output 


ListDay
01
05
10
02
07
15
20
25
04

5.
SQL GROUP_CONCAT
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยทำการ Group Column และนำข้อมูลที่อยู่ใน Group เดียวกันมาต่อกันด้วยเครื่องหมายต่าง ๆ เช่น Comma (,)

Database : MySQL,

Syntax

SELECT GROUP_CONCAT(Column/Field) AS [Nw-Fie
ld] FROM [Table-Name] GROUP BY Column/Filed


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 การเลือกข้อมูล ลูกค้า ในแต่ล่ะประเทศ และนำข้อมูลมาต่อกันด้วยเครื่องหมาย Comma (,)

SELECT CountryCode , GROUP_CONCAT(Name SEPARATOR ',') FROM customer GROUP BY CountryCode

Output

CountryCode
Name
TH
Win Weerachai
EN
John Smith
US
Jame Born , Chalee Angel


6.SQL OR AND 
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) การเชื่อมวลีสำหรับเงื่อนไขต่าง ๆ 

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax

SELECT Column1,Column2,Column3,... FROM [Table-Name] WHERE [Field] = 'Value' [AND/OR] [Field] = 'Value'


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 = US และ Used = 100000 

SELECT * FROM customer WHERE CountryCode = 'US' AND Used = '100000'
หรือ
SELECT * FROM customer WHERE CountryCode = 'TH' OR CountryCode = 'EN'

Output 

CustomerID
Name
Email
CountryCode
Budget
Used
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000

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


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

Database : MySQL 

Syntax

SELECT Column1, Column2, Column3,... FROM [Table-Name] ORDER BY [Fields] [ASC/DESC] LIMIT [Int-Start] , [Int-End]


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 ORDER BY Used DESC LIMIT 0,2

Output 

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


8.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


9.SQL LIKE 
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยทำการค้นหาข้อความที่ระบุภายในฟิวด์ที่กำหนด

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax

SELECT Column1,Column2,Column3,... FROM [Table-Name] WHERE [Filed] LIKE '%Value%'


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 การเลือกข้อมูลตารางที่ฟิวด์ Name มีคำว่า ee อยู่ 

SELECT * FROM customer WHERE Name LIKE '%ee%'

Output 

CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000


Sample2 การเลือกข้อมูลตารางที่ฟิวด์ Email มีคำว่า j นำหน้า 

SELECT * FROM customer WHERE Name LIKE 'j%'

Output 

CustomerID
Name
Email
CountryCode
Budget
Used
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
C003
Jame Bornjame.smith@thaicreate.com
US
3000000600000


Sample3 การเลือกข้อมูลตารางที่ฟิวด์ Name มีคำว่า i ลงท้าย

SELECT * FROM customer WHERE Name LIKE '%i'

Output 

CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000


การใช้งาน LIKE ที่หลายเงื่อนไข หรือ OR ใน Statement สามารถใช้ [x,y] ได้

เช่น

SELECT * FROM customer WHERE Name LIKE '%[John,jame]%'


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

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax

SELECT Column1,Column2,Column3,... FROM [Table-Name] WHERE [Filed] NOT LIKE '%Value%'


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 การเลือกข้อมูลตารางที่ฟิวด์ Name มีไม่มีคำว่า ee อยู่ 

SELECT * FROM customer WHERE Name NOT LIKE '%ee%'

Output 

CustomerID
Name
Email
CountryCode
Budget
Used
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
C003
Jame Bornjame.smith@thaicreate.com
US
3000000600000


Sample2 การเลือกข้อมูลตารางที่ฟิวด์ Email ไม่มีคำว่า j นำหน้า 

SELECT * FROM customer WHERE Name NOT LIKE 'j%'

Output 

CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000


Sample3 การเลือกข้อมูลตารางที่ฟิวด์ Name ไม่มีคำว่า i ลงท้าย

SELECT * FROM customer WHERE Name NOT LIKE '%i'

Output 

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



ที่มา http://www.thaicreate.com/tutorial/sql.html

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

ข้อสอบ O-net

1. ซอฟต์แวร์ คือ
ก. โปรแกรมชุดของคำสั่งที่ควบคุมการทำงานของคอมพิวเตอร์
ข. อุปกรณ์เทคโนโลยีระดับสูง
ค. โปรแกรมแก้ปัญหาทุกอย่างของมนุษย์
ง. อุปกรณ์ที่ทำหน้าเสมือนสมองกล

2. ข้อใดไม่ใช่ระบบปฏิบัติการ
ก. ระบบปฏิบัติการดอส
ข. ระบบปฏิบัติการไมโครซอฟท์เวิร์ด
ค. ระบบปฏิบัติการไมโครซอฟต์วินโดวส์
ง. ระบบปฏิบัติการ แอนดรอยด์

3. ชนิดของซอฟต์แวร์ (software) มีทั้งหมดกี่ชนิด
ก. มี 1 ชนิด 1.ซอฟต์แวร์ระบบ
ข. มี 2 ชนิด 1.ซอฟต์แวร์ระบบ 2.ซอฟต์แวร์ประยุกต์
ค. มี 3 ชนิด 1.ซอฟต์แวร์ระบบ 2.ซอฟต์แวร์ ประยุกต์ 3.ซอฟต์แวร์บุคคล
ง. มี 4 ชนิด 1.ซอฟต์แวร์ระบบ 2.ซอฟต์แวร์ประยุกต์ 3.ซอฟต์แวร์บุคคล 4. ซอฟต์แวร์ บริหาร

4. ซอฟต์แวร์ประมวลคำ คือข้อใด
ก. word processing software
ข. spreadsheet software
ค. database management software
ง. presentation software

5. ซอฟต์แวร์ตารางทำงาน
ก. word processing software
ข. spreadsheet software
ค. database management software
ง. presentation software

6. ซอฟต์แวร์จัดการฐานข้อมูล
ก. word processing software
ข. spreadsheet software
ค. database management software
ง. presentation software

7. ซอฟต์แวร์นำเสนอ
ก. word processing software
ข. spreadsheet software
ค. database management software
ง. presentation software

8. ซอฟต์แวร์สื่อสาร
ก. word processing software
ข. spreadsheet software
ค. database management software
ง. communication software

9. ซอฟต์แวร์นำเสนอ คือข้อใด
ก. Microsoft Excel
ข. Microsoft Access
ค. Microsoft Outlook
ง. Microsoft PowerPoint

10. โปรแกรมวินโดวส์ เป็นซอฟต์แวร์ประเภทใด
ก. ซอฟต์แวร์ระบบ
ข. ซอฟต์แวร์ประยุกต์
ค. ซอฟต์แวร์สำเร็จ
ง. ซอฟต์แวร์ที่พัฒนาขึ้นใช้งานเฉพาะ

ที่มา : http://www.kruchiangrai.net