Upload
rachel-logan
View
32
Download
0
Embed Size (px)
DESCRIPTION
คำสั่ง SQL. วัตถุประสงค์. เรียนรู้คำสั่ง SQL พื้นฐานสำหรับการสร้างโครงสร้างของฐานข้อมูล เรียนรู้คำสั่งสำหรับการเรียกดูข้อมูล เรียนรู้คำสั่งสำหรับการ update ข้อมูล (เพิ่ม, ลบ, แก้ไข). SQL (Structured Query Language) - PowerPoint PPT Presentation
Citation preview
คำ��สั่��ง SQL
วั�ตถุ�ประสงค์�
เร�ยนร� �ค์��ส��ง SQL พื้��นฐ�นส��หร�บก�รสร��งโค์รงสร��งของฐ�นข�อมู�ล
เร�ยนร� �ค์��ส��งส��หร�บก�รเร�ยกดู�ข�อมู�ล เร�ยนร� �ค์��ส��งส��หร�บก�ร update ข�อมู�ล (เพื้#�มู ,
ลบ , แก�ไข)
3
SQL (Structured Query Language)
เป'นภ�ษ�มู�ตร�ฐ�นบนระบบฐ�นข�อมู�ลเชิ#งส�มูพื้�นธ์�ส�มู�รถุใชิ�ง�นไดู�ก�บเค์ร��องค์อมูพื้#วัเตอร�หล�ยระดู�บ ป-จจ�บ�นมู�ซอฟต�แวัร�ระบบจ�ดูก�รฐ�นข�อมู�ล (DBMS) ที่��สน�บสน�นก�รใชิ�ค์��ส��ง SQL เชิ2น ORACLE, DB2, MS-SQL, MS-Access นอกจ�กน��ภ�ษ� SQL ถุ�กน��มู�ใชิ�เข�ยนร2วัมูก�บโปรแกรมูภ�ษ�ต2�งๆ เชิ2น ภ�ษ� C/C++, VisualBasic และ Java วั�ตถุ�ประสั่งคำ�ของ SQL
1. สร��งฐ�นข�อมู�ลและ ต�ร�ง 2. สน�บสน�นก�รจ�ดูก�รฐ�นข�อมู�ล ซ4�งประกอบดู�วัย ก�รเพื้#�มู ก�รปร�บปร�ง และก�รลบข�อมู�ล 3. สน�บสน�นก�รเร�ยกใชิ�หร�อ ค์�นห�ข�อมู�ล
4
ประเภทของคำ��สั่��งภ�ษ� SQL1. ภ�ษ�นิ�ย�มข�อม�ล(Data Definition
Language : DDL) เป'นค์��ส��งที่��ใชิ�ในก�รสร��งฐ�นข�อมู�ล ก��หนดูโค์รงสร��งข�อมู�ลวั2�มู� Attributeใดู ชิน#ดูของข�อมู�ล รวัมูที่��งก�รเปล��ยนแปลงต�ร�ง และก�รสร��งดู�ชิน� ค์��ส��ง : CREATE,DROP,ALTER
2. ภ�ษ�จั�ดก�รข�อม�ล (Data Manipulation Language :DML) เป'นค์��ส��งที่��ใชิ�ในก�รเร�ยกใชิ� เพื้#�มู ลบ และเปล��ยนแปลงข�อมู�ลในต�ร�ง ค์��ส��ง : SELECT,INSERT,UPDATE,DELETE
3. ภ�ษ�คำวับคำ�มข�อม�ล (Data Control Language : DCL) เป'นค์��ส��งที่��ใชิ�ในก�รก��หนดูส#ที่ธ์#ก�รอน�ญ�ต# หร�อ ยกเล#ก ก�รเข��ถุ4งฐ�นข�อมู�ล เพื้��อป6องก�นค์วั�มูปลอดูภ�ยของฐ�นข�อมู�ล
ค์��ส��ง : GRANT,REVOKE
5
CREATE DATABASE database_name
6
ภ�ษ�นิ�ย�มข�อม�ล (Data Definition Language:
DDL) ภ�ษ�น#ย�มูข�อมู�ลประกอบดู�วัยค์��ส��ง ดู�งน�� CREATE คำ��สั่��งท"�ใช้�ในิก�รสั่ร��ง - CREATE TABLE สร��งต�ร�ง - CREATE INDEX สร��งดู�ชิน� - CREATE VIEW สร��งวั#วั DROP คำ��สั่��งท"�ใช้�ในิก�รลบ - DROP TABLE ลบต�ร�ง - DROP INDEX ลบดู�ชิน� - DROP VIEW ลบวั#วั ALTER คำ��สั่��งท"�ใช้�ในิก�รเปล"�ยนิแปลงโคำรงสั่ร��งต�ร�ง
7
ก�รสั่ร��งต�ร�ง : CREATE TABLEค์��ส��งที่��ใชิ� ค์�อ CREATE TABLE มู�ร�ป
แบบ ค์�อCREATE TABLE table_name ( field1 type [(size)] [NOT NULL] , field2 type [(size)] [NOT NULL] , …………...
CONSTRAINT name PRIMARY KEY (primary1, primary2 , ...) FOREIGN KEY (ref1, ref2 , ..) REFERENCES foreigntable (foreignfield1 , foreignfield2 , ...));
8
ต�วัอย'�ง
Create table Student ( ID integer PRIMARY KEY NOT NULL, FName char(30), LName char(30) )
9
10
ก�รลบต�ร�ง : DROP TABLEค์��ส��งที่��ใชิ�ในก�รลบต�ร�งจะใชิ�ค์��ส��ง
DROP TABLE tablename ต�วัอย2�ง
DROP TABLE Employee;
11
ก�รสั่ร��งและลบด�ช้นิ":CREATE /DROP INDEX ก�รสร��งดู�ชิน�ส��หร�บต�ร�ง
- เล�อก column หร�อ กล�2มูของ column จ�กต�ร�งข4�นมู�เป'นดู�ชิน� เชิ2น ชิ��อน�กศึ4กษ�
- ในหน4�งต�ร�งส�มู�รถุมู�ดู�ชิน�ไดู�หล�ยดู�ชิน�
- ชิ2วัยในก�รค์�นห�ข�อมู�ลไดู�รวัดูเร8วั
12
ก�รสั่ร��งและลบด�ช้นิ":CREATE /DROP INDEX ค์��ส��งที่��ใชิ�ในก�รสร��งและลบดู�ชิน�
• CREATE INDEX Index-name
ON table-name(attribute-name1,….)
ex. CREATE INDEX PRO_INDEX
ON PRODUCT(PRODUCT_NAME);
• DROP INDEX Index-name
ex. DROP INDEX PRO_INDEX ;
13
ต�วัอย2�ง ก�รสร��งดู�ชิน� โดูยใชิ�ชิ��อค์นง�นเป'นดู�ชิน�
CREATE INDEX NAME_IDXON WORKER (WK_NAME)
ต�วัอย2�ง ก�รสร��งดู�ชิน� โดูยใชิ�รห�สค์นง�นเป'นดู�ชิน�
CREATE INDEX CODE_IDXON WORKER (WK_ID)
14
15
16
ก�รสั่ร��งวั�วั : CREATE VIEWเป'นก�รสร��งต�ร�งสมูมูต#ข4�นมู�ให�ก�บผู้��
ใชิ�ง�น โดูยก�รดู4งข�อมู�ลบ�งส2วันมู�จ�กฐ�นข�อมู�ล เพื้��อให�ผู้��ใชิ�ง�นเร�ยกข�อมู�ลที่��ต�องก�รจ�กวั#วัที่��ก��หนดูให�เที่2�น��น ค์��ส��งที่��ใชิ�ในก�รสร��งวั#วั ค์�อCREATE VIEW view-name
[column_name1, column_name2,...] AS SELECT attribute1,attribute2,..
FROM table-name WHERE condition
ก�รลบวั#วั ใชิ�ค์��ส��งDROP VIEW view-name
17
ex. Create view my_view1 as select pro_id , pro_name , pro_price from product where supid = 5 ;
ex.
DROP VIEW
ex.DROP VIEW my_view1
18
ก�รเปล"�ยนิแปลงโคำรงสั่ร��งต�ร�ง : ALTER TABLE เป'นก�รเปล��ยนแปลงโค์รงสร��งต�ร�งที่��สร��งไวั� ดู�งน�� 1. ADD เป'นก�รเพื้#�มู column ในต�ร�ง 2. MODIFY เป'นก�รแก�ไขเปล��ยนแปลง column
3. DROP เป'นก�รลบ column
ค์��ส��งที่��ใชิ�ALTER TABLE tablename [ COMMAND [COLUMN]column_name
datatype [CONSTRAINT]];
COMMAND ค์�อ ADD,MODIFY,DROP
19
Alter Table • ADD Attribute name
ex. ALTER TABLE Employee ADD Tel CHAR( 10) ;
• MODIFY Structure ex. ALTER TABLE Employee
MODIFY ( EName CHAR(35) );• DROP Attribute name
ex. ALTER TABLE Employee DROP Tel CHAR( 10) ;
1. ก�รสั่(บคำ�นิข�อม�ลด�วัยคำ��สั่��ง SQL
SQL สั่(บคำ�นิข�อม�ลSQL สั่(บคำ�นิข�อม�ล
ฐ�นข�อมู�ล
ข�อมู�ลผู้ลล�พื้ธ์�
Name Subject Grade แสนดู� VB
A ส�ดูสวัย VB C สมูบ�ต# Database
B สมูศึ�กดู#: Database
B สมูบ�รณ์� Database A สมูหวั�ง VB A
2. โคำรงสั่ร��งคำ��สั่��ง SQL สั่��หร�บสั่(บคำ�นิข�อม�ล
SELECT [ ALL | DISTRINCT ] { column_name/* }
[ , column_name…]FROM table name [ , table_name…][ WHERE condition ][ GROUP BY column_name [,column_name][HAVING condition ] ][ORDER BY column_name1 [ASC|DESC] [,column_name2 [ASC|DESC]]
[,.......,column_name n [ASC|DESC]] ]
ต�วัอย'�งข�อม�ล ค์��ส��ง SQL ค์��ส��ง SQL
ผู้ลล�พื้ธ์�จ�กก�รใชิ�ค์��ส��ง SQL ผู้ลล�พื้ธ์�จ�กก�รใชิ�ค์��ส��ง SQL
BooksBOOKIDTitle PID Price
1001 Windows98 12 500
1002 Office97 12 150
1003 Java Vs C++ 5 250
1004 Database 4 155
1005 Netcape 4 490
1006 C Algorithm 12 1000
1007 Networking 4 1950
1008 Digital Image
PublisherPID Name
4 SE-Education
5 KTP COM And Consult
12 Microsoft
3. สั่(บคำ�นิข�อม�ลจั�กหนิ*�งต�ร�ง
Syntax SELECT *column_name/ [ column_name …]
FROM _
3. สั่(บคำ�นิข�อม�ลจั�กหนิ*�งต�ร�ง < … ต'อ >
Detail* เค์ร��องหมู�ยดูอกจ�น หมู�ยถุ4ง ที่�กค์อล�มูน�column_name ชิ��อค์อล�มูน� ( ฟ<ลดู� )table_name ชิ��อต�ร�ง
แสั่ดงท�กแถุวัและคำอล�มนิ�Book
sBookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
SELECT * FROM Books
BID Title PIDPrice
1001 Windows9 8 12 500
1002 Office9 7 12 150
1003 Java Vs C++ 05 250
1004 Database 04 155
1 005 Netcape 04 490
1006 C Algorithm 12 1000
1007 Networking 04 1950
1008 Digitalimage
แสั่ดงท�กแถุวัและบ�งคำอล�มนิ�Book
s
SELECT Title,Price FROM Books
Title Price
98Windows 500
97Office 150
Java Vs C++ 250Database 155Netcape 490
C Algorithm 1000Networking 1950Digitalimage
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
4. สั่(บคำ�นิข�อม�ลโดยม"เง(�อนิไข
Syntax SELECT *column_name/ [ column_name …]
FROM _WHERE condition
4. สั่(บคำ�นิข�อม�ลโดยม"เง(�อนิไข < … ต'อ >
Detail* เค์ร��องหมู�ยดูอกจ�น หมู�ยถุ4ง ที่�กค์อล�มูน�column_name ชิ��อค์อล�มูน� ( ฟ<ลดู� )table_name ชิ��อต�ร�งcondition เง��อนไขในก�รแสดูงข�อมู�ลในแนวัแถุวั
4. สั่(บคำ�นิข�อม�ลโดยม"เง(�อนิไข < … ต'อ >
Detailช้นิ�ดเง(�อนิไข เคำร(�องหม�ยเปร�ยบเที่�ยบ = > < >= <= <>รวับรวัมู AND , ORปฏิ#เสธ์ NOT
ตรวัจสอบค์2� NULL IS NULL ตรวัจสอบชิ2วัง BETWEEN…
AND ร�ยก�ร IN
ตรวัจสอบข�อค์วั�มู LIKE
5. สั่(บคำ�นิข�อม�ลโดยม"เง(�อนิไขเปร"ยบเท"ยบ
Syntax SELECT *column_name/ [ column_name …]
FROM _ WHERE expression เง��อนไขเปร�ยบ
เที่�ยบ expression
5. สั่(บคำ�นิข�อม�ลโดยม"เง(�อนิไขเปร"ยบเท"ยบ < … ต'อ >
DetailEEEEEEEEEE ช้(�อคำอล�มนิ�และคำ'�คำงท"�เง��อนไขเปร�ยบเที่�ยบ
= เท'�ก�บ> ม�กกวั'�< นิ�อยกวั'�>= ม�กกวั'�หร(อเท'�ก�บ<= นิ�อยกวั'�หร(อเท'�ก�บ<> ไม'เท'�ก�บ
แสั่ดงข�อม�ลเง(�อนิไขเปร"ยบเท"ยบBook
s
SELECT Title,Price FROM Books
WHERE Price < 1000
Title Price
98Windows 500
97Office 150
Java Vs C++ 250
Database 155
Netcape 490
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
แสั่ดงข�อม�ลเง(�อนิไขเปร"ยบเท"ยบBook
s
SELECT Title,Price FROM Books
WHERE Price <= 1000
Title Price
98Windows 500
97Office 150
Java Vs C++ 250
Database 155
Netcape 490
C Algorithm 1000
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
แสั่ดงข�อม�ลเง(�อนิไขเปร"ยบเท"ยบBook
sBID Title PID Price
736 Windows98 12 500877 Office97 12 1501388 Java Vs C++ 5 2501524Database 4 1551997Netcape 4 4902504C Algorithm 12 10005911Networking 4 19509090Digitalimage
SELECT Title,Price FROM Books
WHERE Price <> 1000
Title Price
98Windows 500
97Office 150
Java Vs C++ 250
Database 155
Netcape 490
Networking 1950
6. สั่(บคำ�นิข�อม�ลโดยม"หล�ยเง(�อนิไข
Syntax SELECT EE * [ , column_name …]
FROM _WHERE เง��อนไขที่�� 1 ก�รรวัมูเง��อนไข
เง��อนไขที่��2[ ก�รรวัมูเง��อนไข เง��อนไขที่�� _ n ]
6. สั่(บคำ�นิข�อม�ลโดยม"หล�ยเง(�อนิไข
DetailCondition เง��อนไขต2�งๆก�รรวัมูเง��อนไข
AND ก�รรวัมูเง��อนไขแบบที่��งหมูดูOR ก�รรวัมูเง��อนไขแบบอย2�งใดู
อย2�งหน4�ง
แสั่ดงข�อม�ลหล�ยเง(�อนิไขBook
s
SELECT Title,Price FROM Books
WHERE ( Price > 500 ) OR ( PID < 12 )
Title Price
Java Vs C++ 250
Database 155
Netcape 490
C Algorithm 1000
Networking 1950
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
แสั่ดงข�อม�ลหล�ยเง(�อนิไขBook
s
SELECT Title,Price FROM Books
WHERE ( Price >= 500 ) AND ( Price <= 1000 )
Title Price
98windows 500
C Algorithm 1000
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
แสั่ดงข�อม�ลหล�ยเง(�อนิไขBook
s
SELECTTitle,Price
FROM BooksWHERE (( Price >= 500 ) AND( Price <= 1000 )) OR( PID = 4 ) Title Price
98windows 500
Database 155
Netcape 490
C Algorithm 1000
Networking 1950
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
7. สั่(บคำ�นิข�อม�ลเง(�อนิไขปฏิ�เสั่ธ
Syntax SELECT EE * [ , column_name …]
FROM _WHERE เง��อนไขปฏิ#เสธ์ condition
7. สั่(บคำ�นิข�อม�ลเง(�อนิไขปฏิ�เสั่ธ < … ต'อ >
DetailCondition เง��อนไขใดูๆเง��อนไขปฏิ#เสธ์
NOT ปฏิ#เสธ์
แสั่ดงข�อม�ลเง(�อนิไขปฏิ�เสั่ธBook
s
SELECT Title,Price FROM Books
WHERE NOT ( PID = 4 )
Title Price
Windows98 500Office97 150
Java Vs C++ 250
C Algorithm 1000
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
8. สั่(บคำ�นิข�อม�ลท"�เป.นิคำ'� NULL
Syntax SELECT EE * [ , column_name …]
FROM _WHERE expression IS [ NOT ]
NULL
8. สั่(บคำ�นิข�อม�ลท"�เป.นิคำ'� NULL < … ต'อ >
DetailNULL ค์�อข�อมู�ลที่��ไมู2มู�ค์2�ใดูๆ
เมู��อมู�ก�รเพื้#�มูข�อมู�ลใน record โดูยถุ��ฟ<ลดู� ใดูไมู2ไดู�ใส2ข�อมู�ลและฟ<ลดู�ไมู2มู�ก�รก��หนดูค์2�
default ฟ<ลดู�น��นจะมู�ข�อมู�ลเป'น NULL
แสั่ดงข�อม�ลท"�เป.นิคำ'� NULLBook
s
SELECT Title,Price FROM Books
WHERE Price IS NULL
Title Price
Digital Image
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
แสั่ดงข�อม�ลท"�ไม'เป.นิคำ'� NULLBook
s
SELECT Title , Price FROM Books
WHERE Price IS NOT NULL
Title Price
98Windows 500
97Office 150
Java Vs C++ 250Database 155
Netcape 490
C Algorithm 1000Networking 1950
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
9. สั่(บคำ�นิข�อม�ลเป.นิช้'วัง
Syntax SELECT EE * [ , column_name …]
FROM _WHERE expression [ NOT ]
BETWEEN expression AND expression
9. สั่(บคำ�นิข�อม�ลเป.นิช้'วัง < … ต'อ >
Detailก�รส�บค์�นข�อมู�ลแบบเวั�นชิ2วังหมู�ยถุ4งผู้��ใชิ�
ส�มู�รถุระบ�ไดู�วั2�ข�อมู�ล ระหวั2�งค์2�ไหนถุ4งค์2�ไหนที่�� จะถุ�กแสดูงดู�งน��นก�รส�บค์�นข�อมู�ลแบบน��จะใชิ�ร�ปแบบ
BETWEEN…. AND ….เชิ2น column_name BETWEEN 10
AND 20มู�ค์2�เที่2�ก�บ
(( cloumnb_name >= 10 ) AND ( column _name <= 20))
แสั่ดงข�อม�ลท"�เป.นิช้'วังBook
s
SELECT Title , Price FROM Books
WHERE Price BETWEEN 500 AND 1000
Title Price
98Windows 500
C Algorithm 1000
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
แสั่ดงข�อม�ลท"�เป.นิช้'วังBook
s
SELECT Title ,Price
FROM BooksWHERE Price NOT BETWEEN 500 AND 1000
Title Price
97office 150
JAVA Vs C++ 250 Database
155Netcape 490Networking 1950
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
10. สั่(บคำ�นิข�อม�ลต�มคำ'�ท"�ต�องก�ร
Syntax SELECT */ _ [ , column_name …]
FROM _WHERE expression [ NOT ] IN
(value_list)
10. สั่(บคำ�นิข�อม�ลต�มคำ'�ท"�ต�องก�ร < … ต'อ >
Detailvalue_list
ค์�อค์2�ที่��ข�อมู�ลที่��แสดูงเป'นร�ยก�ร เชิ2น ร�ยก�รต�วัเลขค์��ระหวั2�ง 1 ถุ4ง10
( 1 , 3 , 5 , 7 , 9 )ร�ยก�รชิ��อค์น
( “สมูชิ�ย” , ” ” สมูพื้งษ� , ”สมู” ศึ�กดู#: )
แสั่ดงข�อม�ลต�มคำ'�Book
s
SELECT Title , Price FROM Books
WHERE Price IN (250,500,750 ,1000)
Title Price
98Windows 500
JAVA Vs C++ 250 C Algorithm
1000
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
แสั่ดงข�อม�ลต�มคำ'�Book
s
SELECT Title , Price FROM Books
WHERE Price NOT IN (250,500,750 ,1000)
Title Price
97office 150Database 155Netcape 490
Networking 1950
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
11. สั่(บคำ�นิข�อม�ลต�มสั่'วันิข�อคำวั�ม
Syntax SELECT */ _ [ , column_name …]
FROM table_nameWHERE expression [ NOT ] LIKE
‘string’
11. สั่(บคำ�นิข�อม�ลต�มสั่'วันิข�อคำวั�ม < … ต'อ >
DetailEEEEEE ค์�อ ส2วันของข�อค์วั�มู เชิ2น
“สมู” ” ” หร�อ พื้ง เป'นส2วันของค์��วั2� ”สมู”พื้งษ�
“m”,”i”,”o”,”f”,”t” เป'นส2วันของค์��วั2� ”microsoft”
*%, ส2วันของข�อค์วั�มูใดูๆไมู2จ��ก�ดูต�วั อ�กษร (* In MS Access)
_ , ? ส2วันของข�อค์วั�มูใดูๆหน4�งต�วัอ�กษร (? In MS Access) [ ] ต�วัอ�กษรใดูๆที่��ปร�กฎในชิ2อง [a] หมู�ยถุ4ง
ต�องเป'น a[!] ต�วัอ�กษรใดูๆที่��ไมู2ปร�กฎในชิ2อง [!a] หมู�ย
ถุ4งต�องไมู2เป'น a-[ ] ชิ2วังต�วัอ�กษร เชิ2น [a - c] หมู�ยถุ4ง a , b ,
c
แสั่ดงข�อม�ลต�มสั่'วันิข�อคำวั�มBook
s
SELECT Title , Price FROM Books
WHERE Title LIKE ‘N*’
Title Price
Netcape 490
Networking 1950
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
แสั่ดงข�อม�ลต�มสั่'วันิข�อคำวั�มBook
sBID Title PID Price
736 Windows98 12 500877 Office97 12 1501388 Java Vs C++ 5 2501524Database 4 1551997Netcape 4 4902504C Algorithm 12 10005911Networking 4 19509090Digitalimage
SELECT Title , Price FROM Books
WHERE Title LIKE ‘ *C* ’
Title Price
97office 150
JAVA Vs C++ 250Netcape 490
c Algorithm 1000
แสั่ดงข�อม�ลต�มสั่'วันิข�อคำวั�มBook
s
SELECT Title , Price FROM Books
WHERE Title LIKE ‘?e*’
Title Price
Netcape 490
Networking 1950
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
แสั่ดงข�อม�ลต�มสั่'วันิข�อคำวั�มBook
s
SELECT Title , Price FROM Books
WHERE Title LIKE ‘[N,O]*’
Title Price
O 97ffice 150
Netcape 490
Networking 1950
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
แสั่ดงข�อม�ลต�มสั่'วันิข�อคำวั�มBook
s
SELECT Title , Price FROM Books
WHERE Title LIKE ‘[!N]*’
Title Price
98Windows 500
O 97ffice 150
JAVA Vs C++ 250Database 155
C 1 00
0
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
1 2 . ก�รก��จั�ดร�ยก�รซ้ำ�1�
Detailค์��ส��ง DISTINCT ใชิ�ก��จ�ดูร�ยก�รที่��มู�ข�อมู�ลซ���ก�นให�เหล�อเพื้�ยงร�ยก�รเดู�ยวั โดูยใชิ�ข�อมู�ลใน Field ต2�งๆที่��ก��หนดูในค์��ส��ง SELECT เป'นเกณ์ฑ์�ค์��ส��ง DISTINCTROW ที่��หน��ที่��เชิ2นเดู�ยวัก�บค์��ส��ง DISTINCT แต2จะใชิ�ค์2�ของที่�ก Field เป'นเกณ์ฑ์�แที่น
ก�รก��จั�ดร�ยก�รซ้ำ�1�STUDEN
T
SELECT DISTINCT NAME
FROM STUDENT
NAME แดง เข"ยวั ฟ้3�
STDID NAME SURNAME
51001 แดง ร'�เร�ง51002 เข"ยวั สั่ดช้(�นิ51003 ฟ้3� สั่"คำร�ม51004 แดง สั่ดใสั่51005 แดง ร'�เร�ง
SELECT DISTINCTROW NAME,SURNAME
FROMSTUDENT
NAMESURNAME แดง ร'�เร�ง เข"ยวั สั่ดช้(�นิ ฟ้3� สั่"คำร�ม แดง สั่ดใสั่
1 3 . ก�รเร"ยงล��ด�บข�อม�ลค์��ส��ง ORDER BY
SELECT * FROM Books
ORDER BY PRICEBookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 1950
BookID Title PID Price1002Office97 12 1501004Database 4 1551003 Java Vs C++ 5 2501005Netcape 4 490
1001Windows98 12 5001006C Algorithm 12 10001007Networking 4 1950
1 3 . ก�รเร"ยงล��ด�บข�อม�ล (ต'อ)
ค์��ส��ง ORDER BY
SELECT * FROM Books
ORDER BY PRICE DESCBookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 1950
BookID Title PID Price1007Networking 4 19501006C Algorithm 12 1000
1001Windows98 12 5001005Netcape 4 4901003 Java Vs C++ 5 2501004Database 4 1551002Office97 12 150
1 4 . ฟ้4งก�ช้�นิ SQL Aggregate
ฟ้4งก�ช้�นิ SUMSELECT SUM(field) AS variable FROM tableฟ้4งก�ช้�นิ COUNTSELECT COUNT(field) AS variable FROM tableฟ้4งก�ช้�นิ AVG
SELECT AVG(field) AS variable FROM table
1 4 . ฟ้4งก�ช้�นิ SQL Aggregate (ต'อ)
ฟ้4งก�ช้�นิ MINSELECT MIN(field) AS variable FROM tableฟ้4งก�ช้�นิ MAXSELECT MAX(field) AS variable FROM table
1 4 . ฟ้4งก�ช้�นิ SQL Aggregate (ต'อ)
ฟ้4งก�ช้�นิ SUM SELECT
SUM(PRICE) AS SUMPRICE
FROM Books
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 1950
SUMPRICE
4495
1 4 . ฟ้4งก�ช้�นิ SQL Aggregate (ต'อ)
ฟ้4งก�ช้�นิ COUNT SELECT
COUNT(BOOKID) AS COUNTBOOK
FROM Books
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 1950
COUNTBOOK
7
1 4 . ฟ้4งก�ช้�นิ SQL Aggregate (ต'อ)
ฟ้4งก�ช้�นิ AVG SELECT
AVG(PRICE) AS AVGPRICE
FROM Books
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 1950
AVGPRICE
642.14
1 4 . ฟ้4งก�ช้�นิ SQL Aggregate (ต'อ)
ฟ้4งก�ช้�นิ MIN SELECT
MIN(PRICE) AS MINPRICE
FROM Books
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 1950
MINPRICE
150.00
1 4 . ฟ้4งก�ช้�นิ SQL Aggregate (ต'อ)
ฟ้4งก�ช้�นิ MAX SELECT
MAX(PRICE) AS MINPRICE
FROM Books
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 1950
MAXPRICE
1,950.00
15. ก�รใช้� GROUP BY
GROUP BY
SELECT [ ALL | DISTRINCT ] { column_name/* }
[ , column_name…]FROM table name [ , table_name…][ WHERE condition ][ GROUP BY column_name [,column_name][HAVING condition ] ][ORDER BY column_name1 [ASC|DESC] [,column_name2 [ASC|DESC]]
[,.......,column_name n [ASC|DESC]] ]
15. ก�รใช้� GROUP BY (ต'อ)
Books SELECT
PID,SUM(PRICE) AS SUMPRICE
FROM BooksGROUP BY PID
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 1950
PID SUMPRICE
4 2,595.00 5 250.00 12 1,650.00
16. ก�รใช้� HAVING
GROUP BY
ในก�รใชิ� GROUP BY ถุ��ต�องก�รก��หนดูเง��อนไขเพื้#�มูเต#มู ให�ก��หนดูในค์��ส��ง HAVING
SELECT [ ALL | DISTRINCT ] { column_name/* }
[ , column_name…]FROM table name [ , table_name…][ WHERE condition ][ GROUP BY column_name [,column_name][HAVING condition ] ][ORDER BY column_name1 [ASC|DESC] [,column_name2 [ASC|DESC]]
[,.......,column_name n [ASC|DESC]] ]
16. ก�รใช้� HAVING (ต'อ)
Books SELECT
PID,SUM(PRICE) AS SUMPRICE
FROM BooksGROUP BY PIDHAVING PID >=5
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 1950
PID SUMPRICE5 250.00 12 1,650.00
กล�'มคำ��สั่��ง DML
คำ��สั่��งในิก�รเพิ่��มข�อม�ลลงต�ร�งข�อม�ล
คำ��สั่��งในิก�รแก�ไขข�อม�ลในิต�ร�งข�อม�ล
คำ��สั่��งในิก�รลบข�อม�ลออกจั�กต�ร�งข�อม�ล
คำ��สั่��งในิก�รเพิ่��มข�อม�ลลงต�ร�งข�อม�ล
SyntaxINSERT INTO <table_name>
[( column 1 , column 2 , …)]VALUES ( value 1 , value 2 , … ) ;
Detail
ก�รป6อนข�อมู�ลดู�วัยค์��ส��ง INSERT น��อ�จจะระบ�ชิ��อ Column หร�อ ไมู2ระบ�ชิ��อ Column ก8ไดู� แต2ค์2�ของ value จะต�องมู�ค์2�ตรงก�บ Column ในต�ร�งของค์2�
คำ��สั่��งในิก�รเพิ่��มข�อม�ลลงต�ร�งข�อม�ล (ต'อ)
แสั่ดงก�รเพิ่��มข�อม�ล (ไม'ระบ� Column)
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage
Books
INSERT INTO Books VALUES ( 1009 , ‘
SQL’ ,5 , 520 )
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage1009SQL 5 520
แสั่ดงก�รเพิ่��มข�อม�ล (ระบ� Column)Book
s
INSERT INTO Books (BookID, Title, PID, Price)
VALUES ( 1010 , ‘VB ’ ,5 , 250 )
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage1009SQL 5 5201010VB 5 250
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage1009SQL 5 520
คำ��สั่��งในิก�รแก�ไขข�อม�ลในิต�ร�งข�อม�ล
SyntaxUPDATE <table_name> SET < column1> [ , column 2 , …] =
<expression | sub query> [WHERE < condition> ] ;
แสั่ดงก�รปร�บปร�งข�อม�ลBook
s
UPDATE BooksSET PRICE =PRICE+50
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 2501004Database 4 1551005Netcape 4 4901006C Algorithm 12 10001007Networking 4 19501008Digitalimage1009SQL 5 5201010VB 5 250
BookID Title PID Price
1001Windows98 12 5501002Office97 12 2001003 Java Vs C++ 5 3001004Database 4 2051005Netcape 4 5401006C Algorithm 12 10501007Networking 4 20001008Digitalimage 501009SQL 5 5701010VB 5 300
แสั่ดงก�รปร�บปร�งข�อม�ลBook
s
UPDATE Books SET PRICE = PRICE - 50
WHERE P ID = 12
BookID Title PID Price
1001Windows98 12 5501002Office97 12 2001003 Java Vs C++ 5 3001004Database 4 2051005Netcape 4 5401006C Algorithm 12 10501007Networking 4 20001008Digitalimage 501009SQL 5 5701010VB 5 300
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 3001004Database 4 2051005Netcape 4 5401006C Algorithm 12 10001007Networking 4 20001008Digitalimage 501009SQL 5 5701010VB 5 300
คำ��สั่��งในิก�รลบข�อม�ลออกจั�กต�ร�งข�อม�ล
SyntaxDELETE FROM <table_name> [WHERE < condition> ] ;
14. ก�รลบข�อม�ลลงในิต�ร�ง < … ต'อ >
Detail
ค์��ส��ง DELETE น�� ห�กไมู2ไดู�ระบ�เง��อนไข[ WHERE <condition>] ข�อมู�ลที่��งหมูดูในต�ร�งจะถุ�ก
ลบออกหมูดู ซ4�งก�รลบข�อมู�ลที่��งหมูดูน��จะที่��ไดู�ก8ต2อเมู��อไมู2มู� ต�ร�งอ��นที่��มู�ค์อล�มูน�ที่��เป'น ค์�ย�นอก ( Foreign key ) ที่��จะ
อ��งอ#งมู�ย�งค์อล�มูน�ที่��เป'นค์�ย�หล�ก ( Primary Key ) ของต�ร�งน��
แสั่ดงก�รลบข�อม�ลBook
s
DELETE FROMBooks
WHERE Book ID =1010
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 3001004Database 4 2051005Netcape 4 5401006C Algorithm 12 10001007Networking 4 20001008Digitalimage 501009SQL 5 5701010VB 5 300
BookID Title PID Price
1001Windows98 12 5001002Office97 12 1501003 Java Vs C++ 5 3001004Database 4 2051005Netcape 4 5401006C Algorithm 12 10001007Networking 4 20001008Digitalimage 501009SQL 5 570
88
ค์��ส��ง INSERTเป'นก�รเพื้#�มูข�อมู�ลในต�ร�ง
INSERT INTO table-nameINSERT INTO table-name VALUE (var1 , var2 , VALUE (var1 , var2 , ….)….)
ex. Insert into product ex. Insert into product value (10,book,30, 5 );value (10,book,30, 5 );
89
คำ��สั่��ง UPDATEเป'นค์��ส��งปร�บปร�งข�อมู�ลในต�ร�ง
UPDATE table-nameSET
column-name1=value1[,column-name2=value2,...] [WHERE condition];
คำ��สั่��ง DELETEเป'นค์��ส��งลบข�อมู�ลแถุวัข�อมู�ลในต�ร�ง
DELETE table-name[WHERE
condition];
90
อ��งอ#ง
http://www.compsci.buu.ac.th/~seree/lecture/315241/Php/