Top Banner
คคคคคคค SQL
91

คำสั่ง SQL

Dec 31, 2015

Download

Documents

Rachel Logan

คำสั่ง SQL. วัตถุประสงค์. เรียนรู้คำสั่ง SQL พื้นฐานสำหรับการสร้างโครงสร้างของฐานข้อมูล เรียนรู้คำสั่งสำหรับการเรียกดูข้อมูล เรียนรู้คำสั่งสำหรับการ update ข้อมูล (เพิ่ม, ลบ, แก้ไข). SQL (Structured Query Language) - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: คำสั่ง  SQL

คำ��สั่��ง SQL

Page 2: คำสั่ง  SQL

วั�ตถุ�ประสงค์�

เร�ยนร� �ค์��ส��ง SQL พื้��นฐ�นส��หร�บก�รสร��งโค์รงสร��งของฐ�นข�อมู�ล

เร�ยนร� �ค์��ส��งส��หร�บก�รเร�ยกดู�ข�อมู�ล เร�ยนร� �ค์��ส��งส��หร�บก�ร update ข�อมู�ล (เพื้#�มู ,

ลบ , แก�ไข)

Page 3: คำสั่ง  SQL

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. สน�บสน�นก�รเร�ยกใชิ�หร�อ ค์�นห�ข�อมู�ล

Page 4: คำสั่ง  SQL

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

Page 5: คำสั่ง  SQL

5

CREATE DATABASE database_name

Page 6: คำสั่ง  SQL

6

ภ�ษ�นิ�ย�มข�อม�ล (Data Definition Language:

DDL) ภ�ษ�น#ย�มูข�อมู�ลประกอบดู�วัยค์��ส��ง ดู�งน�� CREATE คำ��สั่��งท"�ใช้�ในิก�รสั่ร��ง - CREATE TABLE สร��งต�ร�ง - CREATE INDEX สร��งดู�ชิน� - CREATE VIEW สร��งวั#วั DROP คำ��สั่��งท"�ใช้�ในิก�รลบ - DROP TABLE ลบต�ร�ง - DROP INDEX ลบดู�ชิน� - DROP VIEW ลบวั#วั ALTER คำ��สั่��งท"�ใช้�ในิก�รเปล"�ยนิแปลงโคำรงสั่ร��งต�ร�ง

Page 7: คำสั่ง  SQL

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 , ...));

Page 8: คำสั่ง  SQL

8

ต�วัอย'�ง

Create table Student ( ID integer PRIMARY KEY NOT NULL, FName char(30), LName char(30) )

Page 9: คำสั่ง  SQL

9

Page 10: คำสั่ง  SQL

10

ก�รลบต�ร�ง : DROP TABLEค์��ส��งที่��ใชิ�ในก�รลบต�ร�งจะใชิ�ค์��ส��ง

DROP TABLE tablename ต�วัอย2�ง

DROP TABLE Employee;

Page 11: คำสั่ง  SQL

11

ก�รสั่ร��งและลบด�ช้นิ":CREATE /DROP INDEX ก�รสร��งดู�ชิน�ส��หร�บต�ร�ง

- เล�อก column หร�อ กล�2มูของ column จ�กต�ร�งข4�นมู�เป'นดู�ชิน� เชิ2น ชิ��อน�กศึ4กษ�

- ในหน4�งต�ร�งส�มู�รถุมู�ดู�ชิน�ไดู�หล�ยดู�ชิน�

- ชิ2วัยในก�รค์�นห�ข�อมู�ลไดู�รวัดูเร8วั

Page 12: คำสั่ง  SQL

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 ;

Page 13: คำสั่ง  SQL

13

ต�วัอย2�ง ก�รสร��งดู�ชิน� โดูยใชิ�ชิ��อค์นง�นเป'นดู�ชิน�

CREATE INDEX NAME_IDXON WORKER (WK_NAME)

ต�วัอย2�ง ก�รสร��งดู�ชิน� โดูยใชิ�รห�สค์นง�นเป'นดู�ชิน�

CREATE INDEX CODE_IDXON WORKER (WK_ID)

Page 14: คำสั่ง  SQL

14

Page 15: คำสั่ง  SQL

15

Page 16: คำสั่ง  SQL

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

Page 17: คำสั่ง  SQL

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

Page 18: คำสั่ง  SQL

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

Page 19: คำสั่ง  SQL

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) ;

Page 20: คำสั่ง  SQL

1. ก�รสั่(บคำ�นิข�อม�ลด�วัยคำ��สั่��ง SQL

SQL สั่(บคำ�นิข�อม�ลSQL สั่(บคำ�นิข�อม�ล

ฐ�นข�อมู�ล

ข�อมู�ลผู้ลล�พื้ธ์�

Name Subject Grade แสนดู� VB

A ส�ดูสวัย VB C สมูบ�ต# Database

B สมูศึ�กดู#: Database

B สมูบ�รณ์� Database A สมูหวั�ง VB A

Page 21: คำสั่ง  SQL

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]] ]

Page 22: คำสั่ง  SQL

ต�วัอย'�งข�อม�ล ค์��ส��ง 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

Page 23: คำสั่ง  SQL

3. สั่(บคำ�นิข�อม�ลจั�กหนิ*�งต�ร�ง

Syntax SELECT *column_name/ [ column_name …]

FROM _

Page 24: คำสั่ง  SQL

3. สั่(บคำ�นิข�อม�ลจั�กหนิ*�งต�ร�ง < … ต'อ >

Detail* เค์ร��องหมู�ยดูอกจ�น หมู�ยถุ4ง ที่�กค์อล�มูน�column_name ชิ��อค์อล�มูน� ( ฟ<ลดู� )table_name ชิ��อต�ร�ง

Page 25: คำสั่ง  SQL

แสั่ดงท�กแถุวัและคำอล�มนิ�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

Page 26: คำสั่ง  SQL

แสั่ดงท�กแถุวัและบ�งคำอล�มนิ�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

Page 27: คำสั่ง  SQL

4. สั่(บคำ�นิข�อม�ลโดยม"เง(�อนิไข

Syntax SELECT *column_name/ [ column_name …]

FROM _WHERE condition

Page 28: คำสั่ง  SQL

4. สั่(บคำ�นิข�อม�ลโดยม"เง(�อนิไข < … ต'อ >

Detail* เค์ร��องหมู�ยดูอกจ�น หมู�ยถุ4ง ที่�กค์อล�มูน�column_name ชิ��อค์อล�มูน� ( ฟ<ลดู� )table_name ชิ��อต�ร�งcondition เง��อนไขในก�รแสดูงข�อมู�ลในแนวัแถุวั

Page 29: คำสั่ง  SQL

4. สั่(บคำ�นิข�อม�ลโดยม"เง(�อนิไข < … ต'อ >

Detailช้นิ�ดเง(�อนิไข เคำร(�องหม�ยเปร�ยบเที่�ยบ = > < >= <= <>รวับรวัมู AND , ORปฏิ#เสธ์ NOT

ตรวัจสอบค์2� NULL IS NULL ตรวัจสอบชิ2วัง BETWEEN…

AND ร�ยก�ร IN

ตรวัจสอบข�อค์วั�มู LIKE

Page 30: คำสั่ง  SQL

5. สั่(บคำ�นิข�อม�ลโดยม"เง(�อนิไขเปร"ยบเท"ยบ

Syntax SELECT *column_name/ [ column_name …]

FROM _ WHERE expression เง��อนไขเปร�ยบ

เที่�ยบ expression

Page 31: คำสั่ง  SQL

5. สั่(บคำ�นิข�อม�ลโดยม"เง(�อนิไขเปร"ยบเท"ยบ < … ต'อ >

DetailEEEEEEEEEE ช้(�อคำอล�มนิ�และคำ'�คำงท"�เง��อนไขเปร�ยบเที่�ยบ

= เท'�ก�บ> ม�กกวั'�< นิ�อยกวั'�>= ม�กกวั'�หร(อเท'�ก�บ<= นิ�อยกวั'�หร(อเท'�ก�บ<> ไม'เท'�ก�บ

Page 32: คำสั่ง  SQL

แสั่ดงข�อม�ลเง(�อนิไขเปร"ยบเท"ยบ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

Page 33: คำสั่ง  SQL

แสั่ดงข�อม�ลเง(�อนิไขเปร"ยบเท"ยบ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

Page 34: คำสั่ง  SQL

แสั่ดงข�อม�ลเง(�อนิไขเปร"ยบเท"ยบ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

Page 35: คำสั่ง  SQL

6. สั่(บคำ�นิข�อม�ลโดยม"หล�ยเง(�อนิไข

Syntax SELECT EE * [ , column_name …]

FROM _WHERE เง��อนไขที่�� 1 ก�รรวัมูเง��อนไข

เง��อนไขที่��2[ ก�รรวัมูเง��อนไข เง��อนไขที่�� _ n ]

Page 36: คำสั่ง  SQL

6. สั่(บคำ�นิข�อม�ลโดยม"หล�ยเง(�อนิไข

DetailCondition เง��อนไขต2�งๆก�รรวัมูเง��อนไข

AND ก�รรวัมูเง��อนไขแบบที่��งหมูดูOR ก�รรวัมูเง��อนไขแบบอย2�งใดู

อย2�งหน4�ง

Page 37: คำสั่ง  SQL

แสั่ดงข�อม�ลหล�ยเง(�อนิไข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

Page 38: คำสั่ง  SQL

แสั่ดงข�อม�ลหล�ยเง(�อนิไข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

Page 39: คำสั่ง  SQL

แสั่ดงข�อม�ลหล�ยเง(�อนิไข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

Page 40: คำสั่ง  SQL

7. สั่(บคำ�นิข�อม�ลเง(�อนิไขปฏิ�เสั่ธ

Syntax SELECT EE * [ , column_name …]

FROM _WHERE เง��อนไขปฏิ#เสธ์ condition

Page 41: คำสั่ง  SQL

7. สั่(บคำ�นิข�อม�ลเง(�อนิไขปฏิ�เสั่ธ < … ต'อ >

DetailCondition เง��อนไขใดูๆเง��อนไขปฏิ#เสธ์

NOT ปฏิ#เสธ์

Page 42: คำสั่ง  SQL

แสั่ดงข�อม�ลเง(�อนิไขปฏิ�เสั่ธ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

Page 43: คำสั่ง  SQL

8. สั่(บคำ�นิข�อม�ลท"�เป.นิคำ'� NULL

Syntax SELECT EE * [ , column_name …]

FROM _WHERE expression IS [ NOT ]

NULL

Page 44: คำสั่ง  SQL

8. สั่(บคำ�นิข�อม�ลท"�เป.นิคำ'� NULL < … ต'อ >

DetailNULL ค์�อข�อมู�ลที่��ไมู2มู�ค์2�ใดูๆ

เมู��อมู�ก�รเพื้#�มูข�อมู�ลใน record โดูยถุ��ฟ<ลดู� ใดูไมู2ไดู�ใส2ข�อมู�ลและฟ<ลดู�ไมู2มู�ก�รก��หนดูค์2�

default ฟ<ลดู�น��นจะมู�ข�อมู�ลเป'น NULL

Page 45: คำสั่ง  SQL

แสั่ดงข�อม�ลท"�เป.นิคำ'� 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

Page 46: คำสั่ง  SQL

แสั่ดงข�อม�ลท"�ไม'เป.นิคำ'� 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

Page 47: คำสั่ง  SQL

9. สั่(บคำ�นิข�อม�ลเป.นิช้'วัง

Syntax SELECT EE * [ , column_name …]

FROM _WHERE expression [ NOT ]

BETWEEN expression AND expression

Page 48: คำสั่ง  SQL

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))

Page 49: คำสั่ง  SQL

แสั่ดงข�อม�ลท"�เป.นิช้'วัง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

Page 50: คำสั่ง  SQL

แสั่ดงข�อม�ลท"�เป.นิช้'วัง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

Page 51: คำสั่ง  SQL

10. สั่(บคำ�นิข�อม�ลต�มคำ'�ท"�ต�องก�ร

Syntax SELECT */ _ [ , column_name …]

FROM _WHERE expression [ NOT ] IN

(value_list)

Page 52: คำสั่ง  SQL

10. สั่(บคำ�นิข�อม�ลต�มคำ'�ท"�ต�องก�ร < … ต'อ >

Detailvalue_list

ค์�อค์2�ที่��ข�อมู�ลที่��แสดูงเป'นร�ยก�ร เชิ2น ร�ยก�รต�วัเลขค์��ระหวั2�ง 1 ถุ4ง10

( 1 , 3 , 5 , 7 , 9 )ร�ยก�รชิ��อค์น

( “สมูชิ�ย” , ” ” สมูพื้งษ� , ”สมู” ศึ�กดู#: )

Page 53: คำสั่ง  SQL

แสั่ดงข�อม�ลต�มคำ'�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

Page 54: คำสั่ง  SQL

แสั่ดงข�อม�ลต�มคำ'�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

Page 55: คำสั่ง  SQL

11. สั่(บคำ�นิข�อม�ลต�มสั่'วันิข�อคำวั�ม

Syntax SELECT */ _ [ , column_name …]

FROM table_nameWHERE expression [ NOT ] LIKE

‘string’

Page 56: คำสั่ง  SQL

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

Page 57: คำสั่ง  SQL

แสั่ดงข�อม�ลต�มสั่'วันิข�อคำวั�ม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

Page 58: คำสั่ง  SQL

แสั่ดงข�อม�ลต�มสั่'วันิข�อคำวั�ม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

Page 59: คำสั่ง  SQL

แสั่ดงข�อม�ลต�มสั่'วันิข�อคำวั�ม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

Page 60: คำสั่ง  SQL

แสั่ดงข�อม�ลต�มสั่'วันิข�อคำวั�ม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

Page 61: คำสั่ง  SQL

แสั่ดงข�อม�ลต�มสั่'วันิข�อคำวั�ม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

Page 62: คำสั่ง  SQL

1 2 . ก�รก��จั�ดร�ยก�รซ้ำ�1�

Detailค์��ส��ง DISTINCT ใชิ�ก��จ�ดูร�ยก�รที่��มู�ข�อมู�ลซ���ก�นให�เหล�อเพื้�ยงร�ยก�รเดู�ยวั โดูยใชิ�ข�อมู�ลใน Field ต2�งๆที่��ก��หนดูในค์��ส��ง SELECT เป'นเกณ์ฑ์�ค์��ส��ง DISTINCTROW ที่��หน��ที่��เชิ2นเดู�ยวัก�บค์��ส��ง DISTINCT แต2จะใชิ�ค์2�ของที่�ก Field เป'นเกณ์ฑ์�แที่น

Page 63: คำสั่ง  SQL

ก�รก��จั�ดร�ยก�รซ้ำ�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� สั่"คำร�ม แดง สั่ดใสั่

Page 64: คำสั่ง  SQL

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

Page 65: คำสั่ง  SQL

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

Page 66: คำสั่ง  SQL

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

Page 67: คำสั่ง  SQL

1 4 . ฟ้4งก�ช้�นิ SQL Aggregate (ต'อ)

ฟ้4งก�ช้�นิ MINSELECT MIN(field) AS variable FROM tableฟ้4งก�ช้�นิ MAXSELECT MAX(field) AS variable FROM table

Page 68: คำสั่ง  SQL

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

Page 69: คำสั่ง  SQL

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

Page 70: คำสั่ง  SQL

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

Page 71: คำสั่ง  SQL

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

Page 72: คำสั่ง  SQL

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

Page 73: คำสั่ง  SQL

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]] ]

Page 74: คำสั่ง  SQL

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

Page 75: คำสั่ง  SQL

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]] ]

Page 76: คำสั่ง  SQL

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

Page 77: คำสั่ง  SQL

กล�'มคำ��สั่��ง DML

คำ��สั่��งในิก�รเพิ่��มข�อม�ลลงต�ร�งข�อม�ล

คำ��สั่��งในิก�รแก�ไขข�อม�ลในิต�ร�งข�อม�ล

คำ��สั่��งในิก�รลบข�อม�ลออกจั�กต�ร�งข�อม�ล

Page 78: คำสั่ง  SQL

คำ��สั่��งในิก�รเพิ่��มข�อม�ลลงต�ร�งข�อม�ล

SyntaxINSERT INTO <table_name>

[( column 1 , column 2 , …)]VALUES ( value 1 , value 2 , … ) ;

Page 79: คำสั่ง  SQL

Detail

ก�รป6อนข�อมู�ลดู�วัยค์��ส��ง INSERT น��อ�จจะระบ�ชิ��อ Column หร�อ ไมู2ระบ�ชิ��อ Column ก8ไดู� แต2ค์2�ของ value จะต�องมู�ค์2�ตรงก�บ Column ในต�ร�งของค์2�

คำ��สั่��งในิก�รเพิ่��มข�อม�ลลงต�ร�งข�อม�ล (ต'อ)

Page 80: คำสั่ง  SQL

แสั่ดงก�รเพิ่��มข�อม�ล (ไม'ระบ� 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

Page 81: คำสั่ง  SQL

แสั่ดงก�รเพิ่��มข�อม�ล (ระบ� 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

Page 82: คำสั่ง  SQL

คำ��สั่��งในิก�รแก�ไขข�อม�ลในิต�ร�งข�อม�ล

SyntaxUPDATE <table_name> SET < column1> [ , column 2 , …] =

<expression | sub query> [WHERE < condition> ] ;

Page 83: คำสั่ง  SQL

แสั่ดงก�รปร�บปร�งข�อม�ล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

Page 84: คำสั่ง  SQL

แสั่ดงก�รปร�บปร�งข�อม�ล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

Page 85: คำสั่ง  SQL

คำ��สั่��งในิก�รลบข�อม�ลออกจั�กต�ร�งข�อม�ล

SyntaxDELETE FROM <table_name> [WHERE < condition> ] ;

Page 86: คำสั่ง  SQL

14. ก�รลบข�อม�ลลงในิต�ร�ง < … ต'อ >

Detail

ค์��ส��ง DELETE น�� ห�กไมู2ไดู�ระบ�เง��อนไข[ WHERE <condition>] ข�อมู�ลที่��งหมูดูในต�ร�งจะถุ�ก

ลบออกหมูดู ซ4�งก�รลบข�อมู�ลที่��งหมูดูน��จะที่��ไดู�ก8ต2อเมู��อไมู2มู� ต�ร�งอ��นที่��มู�ค์อล�มูน�ที่��เป'น ค์�ย�นอก ( Foreign key ) ที่��จะ

อ��งอ#งมู�ย�งค์อล�มูน�ที่��เป'นค์�ย�หล�ก ( Primary Key ) ของต�ร�งน��

Page 87: คำสั่ง  SQL

แสั่ดงก�รลบข�อม�ล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

Page 88: คำสั่ง  SQL

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 );

Page 89: คำสั่ง  SQL

89

คำ��สั่��ง UPDATEเป'นค์��ส��งปร�บปร�งข�อมู�ลในต�ร�ง

UPDATE table-nameSET

column-name1=value1[,column-name2=value2,...] [WHERE condition];

คำ��สั่��ง DELETEเป'นค์��ส��งลบข�อมู�ลแถุวัข�อมู�ลในต�ร�ง

DELETE table-name[WHERE

condition];

Page 90: คำสั่ง  SQL

90

Page 91: คำสั่ง  SQL

อ��งอ#ง

http://www.compsci.buu.ac.th/~seree/lecture/315241/Php/