59
SQL - SQL - Structure Query Structure Query Language (Part 1) Language (Part 1) ภภภภภภภภภภภภภภภภภภ ภภภภภภภภภภภภภภภภภภ ภภภภภภภภภภภภภภภภภภภภ ภภภภภภภภภภภภภภภภภภภภ ภภภภภภ ภภภภภภ 4122206A รรรรรรรรรรรรร รรรรรร 3(2-2) ร.รรรรร รรรรรรร รรรรรรรรรรรรรรรรรรรรรรรรร

SQL - Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

Embed Size (px)

DESCRIPTION

SQL - Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล. 4122206A ระบบจัดการฐานข้อมูล 3(2-2) อ.ชนิดา คำเพ็ง สาขาวิชาเทคโนโลยีสารสนเทศ. วัตถุประสงค์. สามารถอธิบายแนวคิดและการใช้ SQL ได้ นำ SQL ไปใช้เพื่อให้เกิดประโยชน์ได้. ภาษา SQL. - PowerPoint PPT Presentation

Citation preview

Page 1: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

SQL - SQL - Structure Query Structure Query Language (Part 1)Language (Part 1)

ภาษามาตรฐานสำาหรบนยามขอมลภาษามาตรฐานสำาหรบนยามขอมลและการใชขอมลและการใชขอมล4122206A ระบบจดการฐานขอมล

3(2-2)

อ ชนดา คำาเพงสาขาวชาเทคำโนโลยสารสนเทศ

วตถประสำงค

bull สามารถอธบายแนวคำดและการใช SQLได

bull นา SQL ไปใชเพ(อใหเกดประโยชนได

ภาษา SQL

bull สามารถสรางและปฏบตการกบฐานขอมลเชงสมพนธโดยเฉพาะ

bull Structured Query Languagebull สาหรบใชกบ Relational Databasebull อยในรปแบบของภาษาองกฤษ

ภาษา SQLbull1048708 Structured Query Language

ภาษา SQL

ภาษา SQL

ภาษา SQLbullสาหรบใชกบ Relational Database

select namefrom

student

ชนดของขอมลท$ใชในภาษาSQLndash จำานวนเลข (Number)

bull เลขจำานวนจำรง (Number) เก(บเลขท$เป)นจำานวนเต(ม หรอเป)นทศนยม รปแบบท$ใชคอ NUMBER

bull เลขจำานวนเต(ม (Integer) รองรบเลขได 11 หลก รปแบบท$ใชคอ INTEGER หรอ INT

bull เลขจำานวนเต(มขนาดเล(ก (Small integer) รองรบ เลขได 6 หลก รปแบบท$ใชคอ SMALLINT

bull เลขทศนยม (Decimal) รปแบบท$ใชคอ DECIMAL

ชนดของขอมลท$ใชในภาษาSQLndash ตวหนงสำอ

bull ความยาวคงท$ (Fixed-length Character) เก(บขอมลไดสำงสำด 255

ตวอกษร รปแบบท$ใชคอ CHARbull ความยาวไม-คงท$ เก(บขอมลไดสำงสำด 255 ตวอกษร (Variable-length Character) รปแบบท$ใชคอ VARCHAR

ndash ขอมลในลกษณะอน ๆbull วนท$และเวลา (DateTime) รปแบบท$ใช

คอ DATE

ชนดของขอมลในMicrosoft Access

bull ในโปรแกรม Microsoft Access สำามารถใชชนดขอมลตามมาตรฐานของ

SQL ไดbull หรอสำามารถใชชนดขอมลของMicrosoft Access ท$ระบข12นเองก(ไดอาทเช-นndash Text ตวอกษรndash Number ตวเลขndash DateTime วนท$และเวลา

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวเปร$ยบเท$ยบ (Comparison operators)ndash ไดแก-เครองหมาย = lt gt lt= gt= ltgt

bull ตวปฏบตการทางดานลอจำก (Logical operators)ndash ANDndash ORndash NOT

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวปฏบตการพเศษ (Special operators)ndash BETWEEN ตรวจำสำอบช-วงของค-าใน Attributendash IS NULL ตรวจำสำอบว-าม$ค-าว-างหรอไม-ndash LIKE ตรวจำสำอบค-า String ใน

Attribute ว-าม$สำ-วน คลายกบท$กาหนดไวหลง LIKE หรอไม-

ndash IN ตรวจำสำอบค-าใน Attribute ว-าตรงกนกบท$ กาหนดไวหลง IN หรอไม-

ndash EXISTS ตรวจำสำอบว-าม$การ Return ค-าของSubquery หรอไม-

ndash DISTINCT จำากดค-าใหแสำดงผลโดยค-าไม-ซำ2ากน

ฟ8งก ชนสำรป (Aggregate functions) ท$ใชใน SQL

bull COUNT ใชสำาหรบนบค-าbull MIN หาค-าตาสำดbull MAX หาค-าสำงสำดbull SUM หาผลรวมbull AVG หาค-าเฉล$ย

ประเภทของคาสำงของ ภาษา SQL

1 ภาษาสำาหรบการนยามขอมล (Data Definition Language DDL)

2 ภาษาสำาหรบการจำดการขอมล (Data Manipulation Language DML)

3 ภาษาควบคม (Data Control Language DCL)

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 2: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

วตถประสำงค

bull สามารถอธบายแนวคำดและการใช SQLได

bull นา SQL ไปใชเพ(อใหเกดประโยชนได

ภาษา SQL

bull สามารถสรางและปฏบตการกบฐานขอมลเชงสมพนธโดยเฉพาะ

bull Structured Query Languagebull สาหรบใชกบ Relational Databasebull อยในรปแบบของภาษาองกฤษ

ภาษา SQLbull1048708 Structured Query Language

ภาษา SQL

ภาษา SQL

ภาษา SQLbullสาหรบใชกบ Relational Database

select namefrom

student

ชนดของขอมลท$ใชในภาษาSQLndash จำานวนเลข (Number)

bull เลขจำานวนจำรง (Number) เก(บเลขท$เป)นจำานวนเต(ม หรอเป)นทศนยม รปแบบท$ใชคอ NUMBER

bull เลขจำานวนเต(ม (Integer) รองรบเลขได 11 หลก รปแบบท$ใชคอ INTEGER หรอ INT

bull เลขจำานวนเต(มขนาดเล(ก (Small integer) รองรบ เลขได 6 หลก รปแบบท$ใชคอ SMALLINT

bull เลขทศนยม (Decimal) รปแบบท$ใชคอ DECIMAL

ชนดของขอมลท$ใชในภาษาSQLndash ตวหนงสำอ

bull ความยาวคงท$ (Fixed-length Character) เก(บขอมลไดสำงสำด 255

ตวอกษร รปแบบท$ใชคอ CHARbull ความยาวไม-คงท$ เก(บขอมลไดสำงสำด 255 ตวอกษร (Variable-length Character) รปแบบท$ใชคอ VARCHAR

ndash ขอมลในลกษณะอน ๆbull วนท$และเวลา (DateTime) รปแบบท$ใช

คอ DATE

ชนดของขอมลในMicrosoft Access

bull ในโปรแกรม Microsoft Access สำามารถใชชนดขอมลตามมาตรฐานของ

SQL ไดbull หรอสำามารถใชชนดขอมลของMicrosoft Access ท$ระบข12นเองก(ไดอาทเช-นndash Text ตวอกษรndash Number ตวเลขndash DateTime วนท$และเวลา

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวเปร$ยบเท$ยบ (Comparison operators)ndash ไดแก-เครองหมาย = lt gt lt= gt= ltgt

bull ตวปฏบตการทางดานลอจำก (Logical operators)ndash ANDndash ORndash NOT

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวปฏบตการพเศษ (Special operators)ndash BETWEEN ตรวจำสำอบช-วงของค-าใน Attributendash IS NULL ตรวจำสำอบว-าม$ค-าว-างหรอไม-ndash LIKE ตรวจำสำอบค-า String ใน

Attribute ว-าม$สำ-วน คลายกบท$กาหนดไวหลง LIKE หรอไม-

ndash IN ตรวจำสำอบค-าใน Attribute ว-าตรงกนกบท$ กาหนดไวหลง IN หรอไม-

ndash EXISTS ตรวจำสำอบว-าม$การ Return ค-าของSubquery หรอไม-

ndash DISTINCT จำากดค-าใหแสำดงผลโดยค-าไม-ซำ2ากน

ฟ8งก ชนสำรป (Aggregate functions) ท$ใชใน SQL

bull COUNT ใชสำาหรบนบค-าbull MIN หาค-าตาสำดbull MAX หาค-าสำงสำดbull SUM หาผลรวมbull AVG หาค-าเฉล$ย

ประเภทของคาสำงของ ภาษา SQL

1 ภาษาสำาหรบการนยามขอมล (Data Definition Language DDL)

2 ภาษาสำาหรบการจำดการขอมล (Data Manipulation Language DML)

3 ภาษาควบคม (Data Control Language DCL)

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 3: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ภาษา SQL

bull สามารถสรางและปฏบตการกบฐานขอมลเชงสมพนธโดยเฉพาะ

bull Structured Query Languagebull สาหรบใชกบ Relational Databasebull อยในรปแบบของภาษาองกฤษ

ภาษา SQLbull1048708 Structured Query Language

ภาษา SQL

ภาษา SQL

ภาษา SQLbullสาหรบใชกบ Relational Database

select namefrom

student

ชนดของขอมลท$ใชในภาษาSQLndash จำานวนเลข (Number)

bull เลขจำานวนจำรง (Number) เก(บเลขท$เป)นจำานวนเต(ม หรอเป)นทศนยม รปแบบท$ใชคอ NUMBER

bull เลขจำานวนเต(ม (Integer) รองรบเลขได 11 หลก รปแบบท$ใชคอ INTEGER หรอ INT

bull เลขจำานวนเต(มขนาดเล(ก (Small integer) รองรบ เลขได 6 หลก รปแบบท$ใชคอ SMALLINT

bull เลขทศนยม (Decimal) รปแบบท$ใชคอ DECIMAL

ชนดของขอมลท$ใชในภาษาSQLndash ตวหนงสำอ

bull ความยาวคงท$ (Fixed-length Character) เก(บขอมลไดสำงสำด 255

ตวอกษร รปแบบท$ใชคอ CHARbull ความยาวไม-คงท$ เก(บขอมลไดสำงสำด 255 ตวอกษร (Variable-length Character) รปแบบท$ใชคอ VARCHAR

ndash ขอมลในลกษณะอน ๆbull วนท$และเวลา (DateTime) รปแบบท$ใช

คอ DATE

ชนดของขอมลในMicrosoft Access

bull ในโปรแกรม Microsoft Access สำามารถใชชนดขอมลตามมาตรฐานของ

SQL ไดbull หรอสำามารถใชชนดขอมลของMicrosoft Access ท$ระบข12นเองก(ไดอาทเช-นndash Text ตวอกษรndash Number ตวเลขndash DateTime วนท$และเวลา

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวเปร$ยบเท$ยบ (Comparison operators)ndash ไดแก-เครองหมาย = lt gt lt= gt= ltgt

bull ตวปฏบตการทางดานลอจำก (Logical operators)ndash ANDndash ORndash NOT

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวปฏบตการพเศษ (Special operators)ndash BETWEEN ตรวจำสำอบช-วงของค-าใน Attributendash IS NULL ตรวจำสำอบว-าม$ค-าว-างหรอไม-ndash LIKE ตรวจำสำอบค-า String ใน

Attribute ว-าม$สำ-วน คลายกบท$กาหนดไวหลง LIKE หรอไม-

ndash IN ตรวจำสำอบค-าใน Attribute ว-าตรงกนกบท$ กาหนดไวหลง IN หรอไม-

ndash EXISTS ตรวจำสำอบว-าม$การ Return ค-าของSubquery หรอไม-

ndash DISTINCT จำากดค-าใหแสำดงผลโดยค-าไม-ซำ2ากน

ฟ8งก ชนสำรป (Aggregate functions) ท$ใชใน SQL

bull COUNT ใชสำาหรบนบค-าbull MIN หาค-าตาสำดbull MAX หาค-าสำงสำดbull SUM หาผลรวมbull AVG หาค-าเฉล$ย

ประเภทของคาสำงของ ภาษา SQL

1 ภาษาสำาหรบการนยามขอมล (Data Definition Language DDL)

2 ภาษาสำาหรบการจำดการขอมล (Data Manipulation Language DML)

3 ภาษาควบคม (Data Control Language DCL)

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 4: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ภาษา SQLbull1048708 Structured Query Language

ภาษา SQL

ภาษา SQL

ภาษา SQLbullสาหรบใชกบ Relational Database

select namefrom

student

ชนดของขอมลท$ใชในภาษาSQLndash จำานวนเลข (Number)

bull เลขจำานวนจำรง (Number) เก(บเลขท$เป)นจำานวนเต(ม หรอเป)นทศนยม รปแบบท$ใชคอ NUMBER

bull เลขจำานวนเต(ม (Integer) รองรบเลขได 11 หลก รปแบบท$ใชคอ INTEGER หรอ INT

bull เลขจำานวนเต(มขนาดเล(ก (Small integer) รองรบ เลขได 6 หลก รปแบบท$ใชคอ SMALLINT

bull เลขทศนยม (Decimal) รปแบบท$ใชคอ DECIMAL

ชนดของขอมลท$ใชในภาษาSQLndash ตวหนงสำอ

bull ความยาวคงท$ (Fixed-length Character) เก(บขอมลไดสำงสำด 255

ตวอกษร รปแบบท$ใชคอ CHARbull ความยาวไม-คงท$ เก(บขอมลไดสำงสำด 255 ตวอกษร (Variable-length Character) รปแบบท$ใชคอ VARCHAR

ndash ขอมลในลกษณะอน ๆbull วนท$และเวลา (DateTime) รปแบบท$ใช

คอ DATE

ชนดของขอมลในMicrosoft Access

bull ในโปรแกรม Microsoft Access สำามารถใชชนดขอมลตามมาตรฐานของ

SQL ไดbull หรอสำามารถใชชนดขอมลของMicrosoft Access ท$ระบข12นเองก(ไดอาทเช-นndash Text ตวอกษรndash Number ตวเลขndash DateTime วนท$และเวลา

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวเปร$ยบเท$ยบ (Comparison operators)ndash ไดแก-เครองหมาย = lt gt lt= gt= ltgt

bull ตวปฏบตการทางดานลอจำก (Logical operators)ndash ANDndash ORndash NOT

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวปฏบตการพเศษ (Special operators)ndash BETWEEN ตรวจำสำอบช-วงของค-าใน Attributendash IS NULL ตรวจำสำอบว-าม$ค-าว-างหรอไม-ndash LIKE ตรวจำสำอบค-า String ใน

Attribute ว-าม$สำ-วน คลายกบท$กาหนดไวหลง LIKE หรอไม-

ndash IN ตรวจำสำอบค-าใน Attribute ว-าตรงกนกบท$ กาหนดไวหลง IN หรอไม-

ndash EXISTS ตรวจำสำอบว-าม$การ Return ค-าของSubquery หรอไม-

ndash DISTINCT จำากดค-าใหแสำดงผลโดยค-าไม-ซำ2ากน

ฟ8งก ชนสำรป (Aggregate functions) ท$ใชใน SQL

bull COUNT ใชสำาหรบนบค-าbull MIN หาค-าตาสำดbull MAX หาค-าสำงสำดbull SUM หาผลรวมbull AVG หาค-าเฉล$ย

ประเภทของคาสำงของ ภาษา SQL

1 ภาษาสำาหรบการนยามขอมล (Data Definition Language DDL)

2 ภาษาสำาหรบการจำดการขอมล (Data Manipulation Language DML)

3 ภาษาควบคม (Data Control Language DCL)

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 5: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ภาษา SQL

ภาษา SQL

ภาษา SQLbullสาหรบใชกบ Relational Database

select namefrom

student

ชนดของขอมลท$ใชในภาษาSQLndash จำานวนเลข (Number)

bull เลขจำานวนจำรง (Number) เก(บเลขท$เป)นจำานวนเต(ม หรอเป)นทศนยม รปแบบท$ใชคอ NUMBER

bull เลขจำานวนเต(ม (Integer) รองรบเลขได 11 หลก รปแบบท$ใชคอ INTEGER หรอ INT

bull เลขจำานวนเต(มขนาดเล(ก (Small integer) รองรบ เลขได 6 หลก รปแบบท$ใชคอ SMALLINT

bull เลขทศนยม (Decimal) รปแบบท$ใชคอ DECIMAL

ชนดของขอมลท$ใชในภาษาSQLndash ตวหนงสำอ

bull ความยาวคงท$ (Fixed-length Character) เก(บขอมลไดสำงสำด 255

ตวอกษร รปแบบท$ใชคอ CHARbull ความยาวไม-คงท$ เก(บขอมลไดสำงสำด 255 ตวอกษร (Variable-length Character) รปแบบท$ใชคอ VARCHAR

ndash ขอมลในลกษณะอน ๆbull วนท$และเวลา (DateTime) รปแบบท$ใช

คอ DATE

ชนดของขอมลในMicrosoft Access

bull ในโปรแกรม Microsoft Access สำามารถใชชนดขอมลตามมาตรฐานของ

SQL ไดbull หรอสำามารถใชชนดขอมลของMicrosoft Access ท$ระบข12นเองก(ไดอาทเช-นndash Text ตวอกษรndash Number ตวเลขndash DateTime วนท$และเวลา

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวเปร$ยบเท$ยบ (Comparison operators)ndash ไดแก-เครองหมาย = lt gt lt= gt= ltgt

bull ตวปฏบตการทางดานลอจำก (Logical operators)ndash ANDndash ORndash NOT

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวปฏบตการพเศษ (Special operators)ndash BETWEEN ตรวจำสำอบช-วงของค-าใน Attributendash IS NULL ตรวจำสำอบว-าม$ค-าว-างหรอไม-ndash LIKE ตรวจำสำอบค-า String ใน

Attribute ว-าม$สำ-วน คลายกบท$กาหนดไวหลง LIKE หรอไม-

ndash IN ตรวจำสำอบค-าใน Attribute ว-าตรงกนกบท$ กาหนดไวหลง IN หรอไม-

ndash EXISTS ตรวจำสำอบว-าม$การ Return ค-าของSubquery หรอไม-

ndash DISTINCT จำากดค-าใหแสำดงผลโดยค-าไม-ซำ2ากน

ฟ8งก ชนสำรป (Aggregate functions) ท$ใชใน SQL

bull COUNT ใชสำาหรบนบค-าbull MIN หาค-าตาสำดbull MAX หาค-าสำงสำดbull SUM หาผลรวมbull AVG หาค-าเฉล$ย

ประเภทของคาสำงของ ภาษา SQL

1 ภาษาสำาหรบการนยามขอมล (Data Definition Language DDL)

2 ภาษาสำาหรบการจำดการขอมล (Data Manipulation Language DML)

3 ภาษาควบคม (Data Control Language DCL)

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 6: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ภาษา SQL

ภาษา SQLbullสาหรบใชกบ Relational Database

select namefrom

student

ชนดของขอมลท$ใชในภาษาSQLndash จำานวนเลข (Number)

bull เลขจำานวนจำรง (Number) เก(บเลขท$เป)นจำานวนเต(ม หรอเป)นทศนยม รปแบบท$ใชคอ NUMBER

bull เลขจำานวนเต(ม (Integer) รองรบเลขได 11 หลก รปแบบท$ใชคอ INTEGER หรอ INT

bull เลขจำานวนเต(มขนาดเล(ก (Small integer) รองรบ เลขได 6 หลก รปแบบท$ใชคอ SMALLINT

bull เลขทศนยม (Decimal) รปแบบท$ใชคอ DECIMAL

ชนดของขอมลท$ใชในภาษาSQLndash ตวหนงสำอ

bull ความยาวคงท$ (Fixed-length Character) เก(บขอมลไดสำงสำด 255

ตวอกษร รปแบบท$ใชคอ CHARbull ความยาวไม-คงท$ เก(บขอมลไดสำงสำด 255 ตวอกษร (Variable-length Character) รปแบบท$ใชคอ VARCHAR

ndash ขอมลในลกษณะอน ๆbull วนท$และเวลา (DateTime) รปแบบท$ใช

คอ DATE

ชนดของขอมลในMicrosoft Access

bull ในโปรแกรม Microsoft Access สำามารถใชชนดขอมลตามมาตรฐานของ

SQL ไดbull หรอสำามารถใชชนดขอมลของMicrosoft Access ท$ระบข12นเองก(ไดอาทเช-นndash Text ตวอกษรndash Number ตวเลขndash DateTime วนท$และเวลา

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวเปร$ยบเท$ยบ (Comparison operators)ndash ไดแก-เครองหมาย = lt gt lt= gt= ltgt

bull ตวปฏบตการทางดานลอจำก (Logical operators)ndash ANDndash ORndash NOT

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวปฏบตการพเศษ (Special operators)ndash BETWEEN ตรวจำสำอบช-วงของค-าใน Attributendash IS NULL ตรวจำสำอบว-าม$ค-าว-างหรอไม-ndash LIKE ตรวจำสำอบค-า String ใน

Attribute ว-าม$สำ-วน คลายกบท$กาหนดไวหลง LIKE หรอไม-

ndash IN ตรวจำสำอบค-าใน Attribute ว-าตรงกนกบท$ กาหนดไวหลง IN หรอไม-

ndash EXISTS ตรวจำสำอบว-าม$การ Return ค-าของSubquery หรอไม-

ndash DISTINCT จำากดค-าใหแสำดงผลโดยค-าไม-ซำ2ากน

ฟ8งก ชนสำรป (Aggregate functions) ท$ใชใน SQL

bull COUNT ใชสำาหรบนบค-าbull MIN หาค-าตาสำดbull MAX หาค-าสำงสำดbull SUM หาผลรวมbull AVG หาค-าเฉล$ย

ประเภทของคาสำงของ ภาษา SQL

1 ภาษาสำาหรบการนยามขอมล (Data Definition Language DDL)

2 ภาษาสำาหรบการจำดการขอมล (Data Manipulation Language DML)

3 ภาษาควบคม (Data Control Language DCL)

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 7: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ภาษา SQLbullสาหรบใชกบ Relational Database

select namefrom

student

ชนดของขอมลท$ใชในภาษาSQLndash จำานวนเลข (Number)

bull เลขจำานวนจำรง (Number) เก(บเลขท$เป)นจำานวนเต(ม หรอเป)นทศนยม รปแบบท$ใชคอ NUMBER

bull เลขจำานวนเต(ม (Integer) รองรบเลขได 11 หลก รปแบบท$ใชคอ INTEGER หรอ INT

bull เลขจำานวนเต(มขนาดเล(ก (Small integer) รองรบ เลขได 6 หลก รปแบบท$ใชคอ SMALLINT

bull เลขทศนยม (Decimal) รปแบบท$ใชคอ DECIMAL

ชนดของขอมลท$ใชในภาษาSQLndash ตวหนงสำอ

bull ความยาวคงท$ (Fixed-length Character) เก(บขอมลไดสำงสำด 255

ตวอกษร รปแบบท$ใชคอ CHARbull ความยาวไม-คงท$ เก(บขอมลไดสำงสำด 255 ตวอกษร (Variable-length Character) รปแบบท$ใชคอ VARCHAR

ndash ขอมลในลกษณะอน ๆbull วนท$และเวลา (DateTime) รปแบบท$ใช

คอ DATE

ชนดของขอมลในMicrosoft Access

bull ในโปรแกรม Microsoft Access สำามารถใชชนดขอมลตามมาตรฐานของ

SQL ไดbull หรอสำามารถใชชนดขอมลของMicrosoft Access ท$ระบข12นเองก(ไดอาทเช-นndash Text ตวอกษรndash Number ตวเลขndash DateTime วนท$และเวลา

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวเปร$ยบเท$ยบ (Comparison operators)ndash ไดแก-เครองหมาย = lt gt lt= gt= ltgt

bull ตวปฏบตการทางดานลอจำก (Logical operators)ndash ANDndash ORndash NOT

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวปฏบตการพเศษ (Special operators)ndash BETWEEN ตรวจำสำอบช-วงของค-าใน Attributendash IS NULL ตรวจำสำอบว-าม$ค-าว-างหรอไม-ndash LIKE ตรวจำสำอบค-า String ใน

Attribute ว-าม$สำ-วน คลายกบท$กาหนดไวหลง LIKE หรอไม-

ndash IN ตรวจำสำอบค-าใน Attribute ว-าตรงกนกบท$ กาหนดไวหลง IN หรอไม-

ndash EXISTS ตรวจำสำอบว-าม$การ Return ค-าของSubquery หรอไม-

ndash DISTINCT จำากดค-าใหแสำดงผลโดยค-าไม-ซำ2ากน

ฟ8งก ชนสำรป (Aggregate functions) ท$ใชใน SQL

bull COUNT ใชสำาหรบนบค-าbull MIN หาค-าตาสำดbull MAX หาค-าสำงสำดbull SUM หาผลรวมbull AVG หาค-าเฉล$ย

ประเภทของคาสำงของ ภาษา SQL

1 ภาษาสำาหรบการนยามขอมล (Data Definition Language DDL)

2 ภาษาสำาหรบการจำดการขอมล (Data Manipulation Language DML)

3 ภาษาควบคม (Data Control Language DCL)

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 8: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ชนดของขอมลท$ใชในภาษาSQLndash จำานวนเลข (Number)

bull เลขจำานวนจำรง (Number) เก(บเลขท$เป)นจำานวนเต(ม หรอเป)นทศนยม รปแบบท$ใชคอ NUMBER

bull เลขจำานวนเต(ม (Integer) รองรบเลขได 11 หลก รปแบบท$ใชคอ INTEGER หรอ INT

bull เลขจำานวนเต(มขนาดเล(ก (Small integer) รองรบ เลขได 6 หลก รปแบบท$ใชคอ SMALLINT

bull เลขทศนยม (Decimal) รปแบบท$ใชคอ DECIMAL

ชนดของขอมลท$ใชในภาษาSQLndash ตวหนงสำอ

bull ความยาวคงท$ (Fixed-length Character) เก(บขอมลไดสำงสำด 255

ตวอกษร รปแบบท$ใชคอ CHARbull ความยาวไม-คงท$ เก(บขอมลไดสำงสำด 255 ตวอกษร (Variable-length Character) รปแบบท$ใชคอ VARCHAR

ndash ขอมลในลกษณะอน ๆbull วนท$และเวลา (DateTime) รปแบบท$ใช

คอ DATE

ชนดของขอมลในMicrosoft Access

bull ในโปรแกรม Microsoft Access สำามารถใชชนดขอมลตามมาตรฐานของ

SQL ไดbull หรอสำามารถใชชนดขอมลของMicrosoft Access ท$ระบข12นเองก(ไดอาทเช-นndash Text ตวอกษรndash Number ตวเลขndash DateTime วนท$และเวลา

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวเปร$ยบเท$ยบ (Comparison operators)ndash ไดแก-เครองหมาย = lt gt lt= gt= ltgt

bull ตวปฏบตการทางดานลอจำก (Logical operators)ndash ANDndash ORndash NOT

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวปฏบตการพเศษ (Special operators)ndash BETWEEN ตรวจำสำอบช-วงของค-าใน Attributendash IS NULL ตรวจำสำอบว-าม$ค-าว-างหรอไม-ndash LIKE ตรวจำสำอบค-า String ใน

Attribute ว-าม$สำ-วน คลายกบท$กาหนดไวหลง LIKE หรอไม-

ndash IN ตรวจำสำอบค-าใน Attribute ว-าตรงกนกบท$ กาหนดไวหลง IN หรอไม-

ndash EXISTS ตรวจำสำอบว-าม$การ Return ค-าของSubquery หรอไม-

ndash DISTINCT จำากดค-าใหแสำดงผลโดยค-าไม-ซำ2ากน

ฟ8งก ชนสำรป (Aggregate functions) ท$ใชใน SQL

bull COUNT ใชสำาหรบนบค-าbull MIN หาค-าตาสำดbull MAX หาค-าสำงสำดbull SUM หาผลรวมbull AVG หาค-าเฉล$ย

ประเภทของคาสำงของ ภาษา SQL

1 ภาษาสำาหรบการนยามขอมล (Data Definition Language DDL)

2 ภาษาสำาหรบการจำดการขอมล (Data Manipulation Language DML)

3 ภาษาควบคม (Data Control Language DCL)

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 9: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ชนดของขอมลท$ใชในภาษาSQLndash ตวหนงสำอ

bull ความยาวคงท$ (Fixed-length Character) เก(บขอมลไดสำงสำด 255

ตวอกษร รปแบบท$ใชคอ CHARbull ความยาวไม-คงท$ เก(บขอมลไดสำงสำด 255 ตวอกษร (Variable-length Character) รปแบบท$ใชคอ VARCHAR

ndash ขอมลในลกษณะอน ๆbull วนท$และเวลา (DateTime) รปแบบท$ใช

คอ DATE

ชนดของขอมลในMicrosoft Access

bull ในโปรแกรม Microsoft Access สำามารถใชชนดขอมลตามมาตรฐานของ

SQL ไดbull หรอสำามารถใชชนดขอมลของMicrosoft Access ท$ระบข12นเองก(ไดอาทเช-นndash Text ตวอกษรndash Number ตวเลขndash DateTime วนท$และเวลา

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวเปร$ยบเท$ยบ (Comparison operators)ndash ไดแก-เครองหมาย = lt gt lt= gt= ltgt

bull ตวปฏบตการทางดานลอจำก (Logical operators)ndash ANDndash ORndash NOT

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวปฏบตการพเศษ (Special operators)ndash BETWEEN ตรวจำสำอบช-วงของค-าใน Attributendash IS NULL ตรวจำสำอบว-าม$ค-าว-างหรอไม-ndash LIKE ตรวจำสำอบค-า String ใน

Attribute ว-าม$สำ-วน คลายกบท$กาหนดไวหลง LIKE หรอไม-

ndash IN ตรวจำสำอบค-าใน Attribute ว-าตรงกนกบท$ กาหนดไวหลง IN หรอไม-

ndash EXISTS ตรวจำสำอบว-าม$การ Return ค-าของSubquery หรอไม-

ndash DISTINCT จำากดค-าใหแสำดงผลโดยค-าไม-ซำ2ากน

ฟ8งก ชนสำรป (Aggregate functions) ท$ใชใน SQL

bull COUNT ใชสำาหรบนบค-าbull MIN หาค-าตาสำดbull MAX หาค-าสำงสำดbull SUM หาผลรวมbull AVG หาค-าเฉล$ย

ประเภทของคาสำงของ ภาษา SQL

1 ภาษาสำาหรบการนยามขอมล (Data Definition Language DDL)

2 ภาษาสำาหรบการจำดการขอมล (Data Manipulation Language DML)

3 ภาษาควบคม (Data Control Language DCL)

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 10: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ชนดของขอมลในMicrosoft Access

bull ในโปรแกรม Microsoft Access สำามารถใชชนดขอมลตามมาตรฐานของ

SQL ไดbull หรอสำามารถใชชนดขอมลของMicrosoft Access ท$ระบข12นเองก(ไดอาทเช-นndash Text ตวอกษรndash Number ตวเลขndash DateTime วนท$และเวลา

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวเปร$ยบเท$ยบ (Comparison operators)ndash ไดแก-เครองหมาย = lt gt lt= gt= ltgt

bull ตวปฏบตการทางดานลอจำก (Logical operators)ndash ANDndash ORndash NOT

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวปฏบตการพเศษ (Special operators)ndash BETWEEN ตรวจำสำอบช-วงของค-าใน Attributendash IS NULL ตรวจำสำอบว-าม$ค-าว-างหรอไม-ndash LIKE ตรวจำสำอบค-า String ใน

Attribute ว-าม$สำ-วน คลายกบท$กาหนดไวหลง LIKE หรอไม-

ndash IN ตรวจำสำอบค-าใน Attribute ว-าตรงกนกบท$ กาหนดไวหลง IN หรอไม-

ndash EXISTS ตรวจำสำอบว-าม$การ Return ค-าของSubquery หรอไม-

ndash DISTINCT จำากดค-าใหแสำดงผลโดยค-าไม-ซำ2ากน

ฟ8งก ชนสำรป (Aggregate functions) ท$ใชใน SQL

bull COUNT ใชสำาหรบนบค-าbull MIN หาค-าตาสำดbull MAX หาค-าสำงสำดbull SUM หาผลรวมbull AVG หาค-าเฉล$ย

ประเภทของคาสำงของ ภาษา SQL

1 ภาษาสำาหรบการนยามขอมล (Data Definition Language DDL)

2 ภาษาสำาหรบการจำดการขอมล (Data Manipulation Language DML)

3 ภาษาควบคม (Data Control Language DCL)

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 11: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวเปร$ยบเท$ยบ (Comparison operators)ndash ไดแก-เครองหมาย = lt gt lt= gt= ltgt

bull ตวปฏบตการทางดานลอจำก (Logical operators)ndash ANDndash ORndash NOT

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวปฏบตการพเศษ (Special operators)ndash BETWEEN ตรวจำสำอบช-วงของค-าใน Attributendash IS NULL ตรวจำสำอบว-าม$ค-าว-างหรอไม-ndash LIKE ตรวจำสำอบค-า String ใน

Attribute ว-าม$สำ-วน คลายกบท$กาหนดไวหลง LIKE หรอไม-

ndash IN ตรวจำสำอบค-าใน Attribute ว-าตรงกนกบท$ กาหนดไวหลง IN หรอไม-

ndash EXISTS ตรวจำสำอบว-าม$การ Return ค-าของSubquery หรอไม-

ndash DISTINCT จำากดค-าใหแสำดงผลโดยค-าไม-ซำ2ากน

ฟ8งก ชนสำรป (Aggregate functions) ท$ใชใน SQL

bull COUNT ใชสำาหรบนบค-าbull MIN หาค-าตาสำดbull MAX หาค-าสำงสำดbull SUM หาผลรวมbull AVG หาค-าเฉล$ย

ประเภทของคาสำงของ ภาษา SQL

1 ภาษาสำาหรบการนยามขอมล (Data Definition Language DDL)

2 ภาษาสำาหรบการจำดการขอมล (Data Manipulation Language DML)

3 ภาษาควบคม (Data Control Language DCL)

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 12: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

Operator (ตวปฏบตการ ) ท$ใชใน SQL

bull ตวปฏบตการพเศษ (Special operators)ndash BETWEEN ตรวจำสำอบช-วงของค-าใน Attributendash IS NULL ตรวจำสำอบว-าม$ค-าว-างหรอไม-ndash LIKE ตรวจำสำอบค-า String ใน

Attribute ว-าม$สำ-วน คลายกบท$กาหนดไวหลง LIKE หรอไม-

ndash IN ตรวจำสำอบค-าใน Attribute ว-าตรงกนกบท$ กาหนดไวหลง IN หรอไม-

ndash EXISTS ตรวจำสำอบว-าม$การ Return ค-าของSubquery หรอไม-

ndash DISTINCT จำากดค-าใหแสำดงผลโดยค-าไม-ซำ2ากน

ฟ8งก ชนสำรป (Aggregate functions) ท$ใชใน SQL

bull COUNT ใชสำาหรบนบค-าbull MIN หาค-าตาสำดbull MAX หาค-าสำงสำดbull SUM หาผลรวมbull AVG หาค-าเฉล$ย

ประเภทของคาสำงของ ภาษา SQL

1 ภาษาสำาหรบการนยามขอมล (Data Definition Language DDL)

2 ภาษาสำาหรบการจำดการขอมล (Data Manipulation Language DML)

3 ภาษาควบคม (Data Control Language DCL)

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 13: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ฟ8งก ชนสำรป (Aggregate functions) ท$ใชใน SQL

bull COUNT ใชสำาหรบนบค-าbull MIN หาค-าตาสำดbull MAX หาค-าสำงสำดbull SUM หาผลรวมbull AVG หาค-าเฉล$ย

ประเภทของคาสำงของ ภาษา SQL

1 ภาษาสำาหรบการนยามขอมล (Data Definition Language DDL)

2 ภาษาสำาหรบการจำดการขอมล (Data Manipulation Language DML)

3 ภาษาควบคม (Data Control Language DCL)

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 14: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ประเภทของคาสำงของ ภาษา SQL

1 ภาษาสำาหรบการนยามขอมล (Data Definition Language DDL)

2 ภาษาสำาหรบการจำดการขอมล (Data Manipulation Language DML)

3 ภาษาควบคม (Data Control Language DCL)

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 15: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

1 Data Definition Language DDL

bull เป)นกล-มคาสำงท$ใชกระทากบโครงสำรางของฐานขอมล

bull ตวอย-างคาสำง เช-นndash CREATE ใชสำรางตารางndash ALTER ใชแกไขเปล$ยนแปลงตารางndash DROP ใชสำาหรบลบตาราง

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 16: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DDLbull CREATE TABLE สำรางตาราง

ndash รปแบบการใชคาสำง CREATE TABLE ชอตาราง( ชอคอลมน 1 ประเภทขอมล Constraint ชอคอลมน 2 ประเภทขอมล Constraint PRIMARY KEY (ชอคอลมน ) FOREIGN KEY (ชอคอลมน )

REFERENCES ชอตาราง)

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 17: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DDLbull CREATE TABLE

ndash ตวอย-าง CREATE TABLE EMPLOYEE (

ID CHAR(5) NOT NULL NAME VARCHAR(35) NOT NULL ADDRESS VARCHAR(15) NOT NULL PHONE CHAR(8) NOT NULL E-MAIL CHAR(1) NOT NULL PRIMARY KEY (ID)

)

Constraint

ชนดขอมล

ชอตาราง

ให ID เป)น PK

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 18: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DDLCREATE TABLE PRODUCT (

P_CODE VARCHAR(10) NOT NULL P_DESCRIPT VARCHAR(35) NOT NULL P_INDATEDATE NOT NULL P_ONHAND SMALLINT NOT NULL P_MIN SMALLINT NOT NULL P_PRICE NUMBER NOT NULL P_DISCOUNT NUMBER NOT NULL ID CHAR(5) PRIMARY KEY (P_CODE) FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID)

)

ให ID เป)น FK

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 19: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash รปแบบการใชคาสำง ALTER TABLE ชอตาราง

(คาสำงการเปล$ยนแปลง ชอคอลมน ชนดขอมล)

- คาสำงการเปล$ยนแปลง เช-น - ADD เพมคอลมน - ALTER เปล$ยนแปลงชนดขอมล- DROP ลบคอลมน

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 20: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DDLbull ALTER TABLE เปล$ยนแปลงตาราง

ndash ตวอย-างbullALTER TABLE PRODUCT ADD SALECODE VARCHAR(10)bullALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50)bullALTER TABLE PRODUCT DROP SALECODE

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 21: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DDLbull DROP TABLE ลบตาราง

ndash รปแบบการใชคาสำง DROP TABLE ชอตาราง

ndash ตวอย-างDROP TABLE PRODUCTDROP TABLE EMPLOYEEDROP TABLE PROJECT

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 22: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

2 Data Manipulation

Language DMLbull เป)นกล-มคาสำงท$กระทากบขอมลในฐานขอมล

bull ตวอย-างคาสำง เช-นndash SELECT ใชเร$ยกขอมลในตารางมา

แสำดงผลndash INSERT ใชเพมขอมลเขาไปในตารางndash UPDATE ใชแกไขขอมลในตารางndash DELETE ใชลบขอมลในตาราง

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 23: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash รปแบบการใชคาสำง

SELECT ชอคอลมน ท$ตองการดขอมลFROM ชอตารางWHERE เงอนไข

ndash ตวอย-างbull ตองการดขอมลท2งหมดในตาราง PRODUCTbull SELECT FROM PRODUCT

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 24: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DMLbull SELECT เลอกแถว (Row)

จำาก Tablendash ตวอย-างSELECT Book_name Author

FROM BookWHERE Book_id = 0001

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 25: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ตวอย-าง SELECT

SELECT FirstName LastNameFROM Personal

SELECT FirstName LastNameFROM Personal

ตวอย-าง

FirstNam

e

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonalFirstName

LastName

มานะ พากเพยร

อดทน ต3งใจเรยน

มาน หม(นเพยร

ผลลพธ ผลลพธ

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 26: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

แสำดงชอลกคา ท$อย-ลกคาS elect Name Addr from customer Name Addr - - - - - - - - - - - - - - - - - โสภา สคำล3า กร5งเทพฯศร ส5ขพานช กร5งเทพฯสมชาย มสะอาด เชยงใหมอมร ศรวฒนก5ล ลาพน วรชาต สคำล3า อย5ธยา วมลลกษณ โพธ9ศร ส5โขทย อนนต บ5ญญาน5พงศ กร5งเทพฯ

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 27: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

แสำดงขอมลลกคา ท$อย-กรงเทพฯ และม$เครดต มากกว-า 350000S elect from customerW here Addr = กร5งเทพฯ and Cr

edit gt 350000

Id Name Addr Tel Credit Curr_Bal- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -110 ศร ส5ขพานช กร5งเทพฯ

2520091 400000

200000217 อนนต บ5ญญาน5พงศ กร5งเทพฯ

2517747 900000

200000

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 28: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code)

โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ม$รหสำ V0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE = V0004

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 29: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ตวอย-าง WHERE (=)SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

SELECT FROM Personal

WHERE Amphur = ldquoเมองrdquo

ตวอย-าง

FirstNam

e

LastNam

e

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 30: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ตวอย-าง WHERE (IN)SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)

SELECT FROM Personal

WHERE Amphur IN (ldquoเมองrdquo ldquoจ5นrdquo)ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

จ5น

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 31: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ตวอย-าง WHERE (LIKE)SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

SELECT FROM Personal

WHERE FirstName LIKE ldquoมาrdquo

ตวอย-าง

FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

อดทน ต3งใจเรยน

เมอง

มาน หม(นเพยร

ปง

PersonalPersonal ผลลพธ ผลลพธ FirstName

LastName

Amphur

มานะ พากเพยร

เมอง

มาน หม(นเพยร

ปง

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 32: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DMLbull INSERT เพมแถว (Row) ลงใน Tablendash รปแบบการใชคาสำง

INSERT INTO ชอตาราง VALUES (ขอมลทกคอลมน )ndash ตวอย-าง INSERT INTO VENDOR

VALUES (V0001 บรษทไบรซำน สำมย 615 223-3234 TN Y) INSERT INTO PRODUCT VALUES (P0000001 หวพ-นสำ$ 03-NOV-2003 8 5 109099 000 V0011)INSERT INTO PRODUCT VALUES (P0000010 คอน 12 ปอนด 03-JAN-2004 8 5 14040 005 NULL)

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 33: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ตวอย-าง INSERT

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

INSERT INTO Orders(ProdID Product EmpID)VALUES (999 ldquoRamrdquo ldquo02rdquo)

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03

OrdersOrders

ProdID

Product

EmpID

234 Printer

01

657 Table 03865 Chair 03999 Ram 02

OrdersOrders

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 34: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DMLbullUPDATE แกไขขอมลใน

ตารางndashรปแบบการใชคาสำง

UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม- WHERE เงอนไข

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 35: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE PRODUCT

SET P_DATE = rsquo18-JAN-2004rsquoWHERE P_CODE = lsquoP0000007rsquo

bull แกไขขอมลวนท$สำนคาเขาคลง (P_DATE) โดยให แกไขเฉพาะสำนคาท$ม$รหสำสำนคา (P_CODE) เป)น

P0000007 ใหเป)นวนท$สำนคาเขาคลงเป)น 1-8 JAN-2004

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 36: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมโชคrsquoWHERE Book_name = lsquoระบบฐานขอมลrsquo

bullแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ชอระบบฐานขอมล (Book_name) ใหเป)นผแต-งชอสำมโชค

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 37: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DMLbullUPDATE แกไขขอมลใน Table

ndashตวอย-างbullUPDATE Book

SET Author = rsquoสำมควรrsquo publisher=lsquoดอกหญาrsquoWHERE Book_id = lsquo00015rsquoแกไขขอมลผแต-ง (Author) โดยใหแกไขเฉพาะหนงสำอท$ม$รหสำ 00015 (Book_id) ใหเป)นผแต-งชอสำมโชค และสำานกพมพ ดอกหญา

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 38: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ตวอย-าง UPDATE แบบไม-ระบแถว

UPDATE EmployeesSET Name = ldquoFOXrdquo

UPDATE EmployeesSET Name = ldquoFOXrdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 FOX02 FOX03 FOX04 FOX

EmployeesEmployees

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 39: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ตวอย-าง UPDATE แบบระบ แถว (WHERE)

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

UPDATE EmployeesSET Name = ldquoFOXrdquoWHERE EmpID = ldquo04rdquo

EmpID

Name

01 ANT02 BAT03 CAT04 DOG

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

EmployeesEmployees

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 40: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DMLbullDELETE ลบแถว (Row) ออก

จำากตารางndashรปแบบการใชคาสำง

DELETE FROM ชอตารางWHERE เงอนไข

ndashตวอย-างDELETE FROM PRODUCT

WHERE P_CODE = P0000016

DELETE FROM PRODUCTWHERE P_MIN = 5

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 41: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ตวอย-าง DELETE แบบระบ แถว (WHERE)

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

DELETE FROM EmployeesWHERE EmpID = ldquo04rdquo

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT

EmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 42: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

ตวอย-าง DELETE แบบไม-ระบแถว

DELETE FROM Employees

DELETE FROM Employees

EmployeesEmployees

EmpID

NameEmployeesEmployees

EmpID

Name

01 ANT02 BAT03 CAT04 FOX

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 43: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

Operators ในการเปร$ยบเท$ยบ

bull ตว Operators ในการเปร$ยบเท$ยบndash = เท-ากบndash lt นอยกว-าndash lt= นอยกว-าหรอเท-ากบndash gt มากกว-าndash gt= มากกว-าหรอเท-ากบndash ltgt หรอ = ไม-เท-ากบ

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 44: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

Operators ทางลอจำก

bull ตว Logical operatorsndash AND และndash OR หรอndash NOT ตรงกน

ขาม ไม-เท-ากบ

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 45: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย และม$ราคาตากว-า 300 บาท

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo and prize lt

300

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 46: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

Operators ทางลอจำกbull ตวอย-าง

bull ตองการดรายชอสำนคา (P_DESCRIPT) วนท$สำนคา เขามา (P_INDATE) ราคาสำนคา (P_PRICE) และ

รหสำของผคาสำ-ง (V_CODE) โดยใหดเฉพาะสำนคาท$ม$ ราคานอยกว-า 500 และวนท$สำนคาเขามานอยกว-าวน

ท$ -15 DEC-2004bull SELECT P_DESCRIPT P_INDATE P_PRICE V_CODE

FROM PRODUCT WHERE P_PRICE lt 500AND P_INDATE lt 15-DEC-2004

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 47: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างแสำดงรายละเอ$ยดของหนงสำอทกคอลมน ท$ผแต-งคอสำมชาย หรอม$ราคาต2งแต- 300 บาทข12นไป

SELECT FROM BookWHERE Author = lsquoสำมชายlsquo or prize =gt

300

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 48: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

คาสำง SQL DMLbull SELECT เลอกแถว (Row) จำาก Tablendash ตวอย-างbull ตองการดรายชอสำนคา (P_Name) วนท$สำนคาเขามา(P_DATE) ราคา (P_Price) และผคาสำ-ง (V_Code) โดยใหดสำนคาเฉพาะสำนคาท$สำ-งมาจำากผคาสำ-งท$ไม-ใช- รหสำV0004bull SELECT P_Name P_DATE P_Price V_CODE

FROM PRODUCTWHERE V_CODE ltgt V0004

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 49: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

Operators ทางลอจำก

bull ตวอย-างbull ตองการดขอมลสำนคาท$สำ-งจำากผคาสำ-งทกรายยกเวน V0006bull SELECT

FROM PRODUCTWHERE NOT (V_CODE = V0006)

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 50: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

Operators ในการคานวณ

bull ตว Operators ในการคานวณ

ndash + บวกndash - ลบndash คณndash หารndash ^ ยกกาลง

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 51: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bullการคานวณndash SELECT P_DESCRIPT P_ONHAND P_PRICE

P_ONHANDP_PRICE FROM PRODUCT

สำงเกตเมอม$การคานวณโดยใช P_ONHANDP_PRICE ผลลพธ ท$ไดจำะแสำดงในคอลมน Expr1003 ซำ1งคอลมน Expr1003 น$2เป)นคอลมน ท$ Access สำรางข12นมาใหเองโดยอตโนมต

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 52: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการหาว-าสำนคาท$เหลออย-ในแต-ละตวม$มลค-า

รวมแลวเท-ากบเท-าไรndash SELECT P_DESCRIPT P_ONHAND

P_PRICE P_ONHANDP_PRICE AS TOTAL_VALUEFROM PRODUCT

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 53: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

การคานวณในคาสำง SQL และการใช ชอแทน (Alias)

bull การคานวณและใชชอแทน (Alias)ndash ตองการแสำดงวนท$สำนคาแต-ละตวจำะม$วนสำ2นสำด

การรบประกนเมอใด ในท$น$2คดท$ 90 วน โดยการคดจำะคดเรมจำากวนท$สำนคาน2นเขามาในคลงสำนคา

ndash SELECT P_CODE P_INDATE P_INDATE + 90 AS EXPIRE_DATE

FROM PRODUCT

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 54: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

Operators พเศษ(Special operators)

bull ตว Operators พเศษndash BETWEEN ตรวจำค-าท$อย-ในช-วงndash IS NULL ตรวจำสำอบค-าว-าง (Null)ndash LIKE ตรวจำสำอบว-าม$Pattern

เหมอนกนหรอไม-ndash IN ตรวจำสำอบว-าม$ค-าอย-ใน รายการ (List) หรอไม-ndash EXISTS ตรวจำสำอบว-าม$การReturn ค-าของ

Subquery หรอไม-

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 55: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ม$ราคาอย-ระหว-าง 5000 ถ1ง10000bull SELECT FROM PRODUCT

WHERE P_PRICE BETWEEN 5000 AND 10000

bull SELECT FROM PRODUCT

WHERE P_PRICE gt 5000 AND P_PRICE lt 10000 ตวอย-างหลง สำามารถใชแทนตวอย-างดานบนได

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 56: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$ไม-ไดซำ2อจำากผคาสำ-ง (V_CODE เป)นค-าว-าง นนเอง)bull SELECT P_CODE P_DESCRIPT V_CODE

FROM PRODUCTWHERE V_CODE IS NULL

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 57: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

Operators พเศษbull ตวอย-าง

bull ตองการดขอมลผคาสำ-งท$ม$ผท$เราตดต-อดวย (V_CONTACT) ม$อกษรข12น ตนดวย lsquoอrsquo

bull SELECT V_NAME V_CONTACT V_AREACODE V_PHONEFROM VENDORWHERE V_CONTACT LIKE อ

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 58: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

Operators พเศษbull ตวอย-าง

bull ตองการดสำนคาท$สำ-งโดย V0001 และV0006bull SELECT

FROM PRODUCTWHERE V_CODE IN

(V0001 V0006)

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)

Page 59: SQL -  Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

3 Data Control Language DCL

bull เป)นคาสำงท$ใชในการกาหนดสำทธการใชงานในฐานขอมล

bull ตวอย-างคาสำง เช-นndash GRANT เป)นคาสำงใหสำทธgtผ

ใช (User)