37
กกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก Oracle กกกกกกกกกกกกกกกกกกกกกก SQL กกกกกกก เเเเ SQL เเเเเเเ เเเ เเเเเเเเเเเ Structured Query Language เเเเเเเเเเ เเเเ programming เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ relational database management system (RDBMS) เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเ เเเเเ เเเ เเ เเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ column เเเ row เเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเ table เเเเเเเเเเเเเเเเเ SQL เเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเ (create) เเเ เเเ เเ (drop) เเเเเเเเเเเเเเเเเ (alter) เเเ table เเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเ SQL เเเเเเเเเเเเ Data definition language – DDL เเเเเเเเ เเเเเเเเเเเเเเ Data manipulation language – DML เเเ เเเเเ เเ เเเเเเเเเเเเเเเเเเเเเเ table Data control language – DCL เเเเเเเเ เเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ insert, query, update, delete, schema creation and modification เเเ data access control

SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

  • Upload
    vuque

  • View
    260

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

การเรยกดขอมลจากระบบฐานขอมล Oracle

การเขาใชงานฐานขอมล SQL คออะไร

เจา SQL คออะไร หละ จรงๆมนคอ Structured Query Language ซงมนคอ ภาษา programming ทออกแบบมาเพอทำาการจดการขอมลทอยใน relational database management system (RDBMS) หรอกคอไวสำาหรบคนหาขอมล เปลยนแปลง เพม และ ลด ขอมลทถกเกบอยในฐานขอมลในรปแบบตารางทมลกษณะเปน column และ row เราเรยกขอมลเหลานวาถกเกบอยใน table ดวยความสามารถของ SQL เรายงสามารถสรางตารางขนมาใหม (create) รวมถง ลบ (drop) และเปลยนแปลงคา (alter) ของ table ได ซงในความเปนจรงแลวคำาสง SQL ประกอบไปดวย

Data definition language – DDL ใชในการสรางฐานขอมล

Data manipulation language – DML ใช เพม ลบ และเปลยนแปลงขอมลใน table

Data control language – DCL ใชในการกำาหนดสทธการอนญาต

ทงหมดนอยในขอบเขตของการทำา insert, query, update, delete, schema creation and modification และ data access controlSQL Syntax

Page 2: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

ภาษา SQL ถกแบงออกมาเปนสวนประกอบตางๆ เราเรยกสวนเหลานตามรปแบบเชน

Clauses  คอองคประกอบหนงของ statement และ query  (สวนนเปน Optional)

Expressions  คอการสรางผลลพธออกมาในรป table ทประกอบดวย column และ row จากขอมล

Predicates  คอรปแบบเงอนไขทมผลลพธเปน true/false/unknown หรอกคอ Boolean นนเอง

Queries  คอการดงขอมลตามเงอนไข (clause) เปนสวนสำาคญใน SQL

Statements  คอสามารถมผลตอโครงสรางขอมล, จดการขอมล trasactions, program flow, session หรอแมกระทง วเคราะหปญหา โดยจำาเปนตองจบดวย semicolon (;) ซงเปนสงจำาเปนทตองมทกครงสำาหรบ SQL

Insignificant whitespace หรอชองวาง สำาหรบใน SQL statement และ query จะไมสนใจ ทำาให SQL สามารถเขยนในรปแบบทหลากหลายสวยงาม

การเขาใชงานฐานขอมล

คำาสง SQL Command (Structured Query Language หรอ SQL) คอคำาสงบรหารจดการฐานขอมล (Database) โดยเฉพาะ Relational Database Management System (RDBMS) เชน Oracle, MySQL, Microsoft SQL Server, PostgreSQL, IBM DB2, Microsoft Access ซงเราสามารถ

Page 3: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

ใช SQL command ในการสงการ หรอจดการขอมลภายในฐานขอมลเหลานได

SQL Syntaxภาษา SQL ถกแบงออกมาเปนสวนประกอบตางๆ เราเรยกสวนเหลานตามรปแบบเชน

Clauses  คอองคประกอบหนงของ statement และ query  (สวนนเปน Optional)

Expressions  คอการสรางผลลพธออกมาในรป table ทประกอบดวย column และ row จากขอมล

Predicates  คอรปแบบเงอนไขทมผลลพธเปน true/false/unknown หรอกคอ Boolean นนเอง

Queries  คอการดงขอมลตามเงอนไข (clause) เปนสวนสำาคญใน SQL

Statements  คอสามารถมผลตอโครงสรางขอมล, จดการขอมล trasactions, program flow, session หรอแมกระทง วเคราะหปญหา โดยจำาเปนตองจบดวย semicolon (;) ซงเปนสงจำาเปนทตองมทกครงสำาหรบ SQL

Insignificant whitespace หรอชองวาง สำาหรบใน SQL statement และ query จะไมสนใจ ทำาให SQL สามารถเขยนในรปแบบทหลากหลายสวยงาม

Page 4: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

ชดคำาสง SQL

คำาสงของ SQL สามารถจำาแนกออกได 5 กลมดงนกลมท 1 retrieval command เปนคำาสงทใชในการเลอกด

ขอมลสามารถเลอกดขอมลในลกษณะงายๆไปจนถงการเลอกขอมลจากหลายตารางและเงอนไขการเลอกขอมลทซบซอน คำาสงสำาหรบเรยกดขอมลมเพยงคำาสงเดยวคอ

SELECT

กลมท 2 Data manipulation language (DML) เปนคำาสงทใชในการจดการกบขอมลตางๆในตาราง คำาสงในกลมนไดแก

INSERT UPDATE DELETE MERGE

กลมท 3 Data definition language (DDL) เปนคำาสงทใชในการสราง เปลยนแปลง หรอลบ database object

Page 5: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

ตวอยางของ database object เชน table, user, view รายละเอยดของ database object คำาสงในกลมนไดแก

CREATE ALTER DROP RENAME TRUNCATE COMMENT

กลมท 4 Data control language (DCL) เปนคำาสงสำาหรบกำาหนดหรอถอนสทธ (privileged) สำาหรบการทำางานตางๆในระบบฐานขอมล คำาสงในกลมนไดแก

GRANT REVOKE

กลมท 5 Transaction command เปนคำาสงทใชในการจดการ database transaction คำาสงในกลมนไดแก

COMMIT ROLLBACK SAVEPONT

การเรยกดขอมลจากระบบฐานขอมล Oracle

การเรยกดขอมลจากฐานขอมล นบเปนความตองการขนพนฐานสำาหรบผใชระบบฐานขอมล การใชคำาสง Select เพอเลอกดขอมลทจดเกบในฐานขอมลออกมาแสดงผลทหนาจอ คำาสง Select

Page 6: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

เปนคำาสงทใชงานงาย ไมเกดผลกระทบในการแกไข เพม หรอลบขอมลทจดเกบในฐานขอมล เพราะเปนคำาสงททำาหนาทในการเลอกหรอดงขอมลขนมาแสดงผล ซงการใชรปแบบคำาสง Select มหลายรปแบบดงตอไปน

1.การเลอกดขอมลแบบไมกำาหนดเงอนไข

รปแบบคำาสงSELECT [*| COL1, COL2, COL3,…,COLn]FROM table-name;

คำาอธบายSELECT สวนของคำาสงหรอคยเวรดทตอง

พมพตามน[*| COL1, COL2, COL3,…,COLn]

สญลกษณ [ | ] หมายถง การเลอกกระทำาอยางใดอยางหนง

* หมายถงเลอกขอมลทกคอลมนจากตารางมาแสดง

COL1, COL2, COL3,…,COLn

เลอกขนมาเฉพาะคอลมนทสนใจ ซงจะใชเครองหมาย , แยกแตละคอลมนตามจำานวนคอลมนทตองการเรยกมาแสดง

FROM สวนของคำาสงหรอคยเวรดทตองพมพตามน

table-name ชอตารางทตองการเลอกขอมลมาแสดง

; เปนเครองหมายแสดงการจบคำาสงทกครง

Page 7: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

ตวอยางการใชคำาสง SELECT (แบบไมกำาหนดเงอนไข)SELECT * From department;

ผลลพธ

ขอสงเกต: 1. การเขยนคำาสง SQL ดวยภาษาองกฤษตวพมพใหญ

หรอตวพมพเลกไมมความแตกตางกน เพราะคำาสง SQL จะเปนลกษณะของ case insensitive หมายความวาการเขยนเปนตวพมพเลก หรอ ตวพมพใหญไมมความแตกตางกน เชน การเขยนคำาสง SELECT หรอ select หรอ Select จะมความหมายเหมอนกน

2. การพมพคำาสง SQL จะพมพตอเนองกนไปบนบรรทดเดยว หรอแยกเปนหลายๆบรรทดกจะไดผลลพธไมตางกน แตมขอแมวาการพมพแยกบรรทดจะตองไมเปนการพมพแยกสวน keyword หรอแปนพมพแยกสวนชอคอลมน หรอชอตาราง

2.การกำาหนดชอใหกบคอลมนทแสดงผล

รปแบบคำาสงSELECT COL1 “aliias1”, COL2 “aliias2”,

COL3 “aliias3”,…,COLn “aliiasn”FROM table-name;

คำาอธบาย

Page 8: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

COL1 “aliias1”, COL2 “aliias2”, COL3 “aliias3”,…,COLn “aliiasn”

คอชอคอลมนทตองการใชในการแสดงผลแทนชอคอลมนทกำาหนดไวในฐานขอมล

ตวอยางการใชคำาสง SELECT และกำาหนดชอใหกบคอลมนทแสดงผล

SELECT department_id ID, department_name “Dept name”, location_id

From department;

ผลลพธ

ขอสงเกต:

กรณทชอดงกลาวเขยนตองการใหมการใชตวอกษรพพมใหญ หรอมชองวางระหวางชอของคอลมน ใหใชเครองหมาย ครอบชอ“”นนไว

3.การแสดงผลขอมลรวมกบตวดำาเนนการทางคณตศาสตร

รปแบบคำาสง SELECT COL ตวดำาเนนการทางคณตศาสตร คาคงทFROM table-name;

คำาอธบาย

Page 9: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

ตวดำาเนนการทาง

คณตศาสตร

เครองหมายทาง

คณตศาสตร

ตวอยางการใชงาน

ความหมาย

การบวก + SELECT COL+9

การเรยกดขอมลจาก COL โดยนำาคาขอมลทอยในนนบวกกบคาคงทคอ 9

การลบ - SELECT COL-9

การเรยกดขอมลจาก COL โดยนำาคาขอมลทอยในนนลบกบคาคงทคอ 9

การคณ * SELECT COL*9

การเรยกดขอมลจาก COL โดยนำาคาขอมลทอยในนนคณกบคาคงทคอ 9

การหาร / SELECT COL/9

การเรยกดขอมลจาก COL โดยนำาคาขอมลทอยในนนหารกบคาคงทคอ 9

ตวอยางการใชคำาสง SELECT และกำาหนดชอใหกบคอลมนทแสดงผล

SELECT last_name, salary, salary + 300From department;

ผลลพธ

Page 10: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

4.การแสดงผลขอมลโดยแสดงลำาดบการเขากระทำาของตวดำาเนนการทางคณตศาสตร

รปแบบคำาสง SELECT COL ตวดำาเนนการทางคณตศาสตร คาคงท ลำาดบ

การเขากระทำาของตวดำาเนนการทางคณตศาสตรFROM table-name;

คำาอธบายลำาดบการเขากระทำาของตวดำาเนนการทางคณตศาสตร

ตวอยางการใชงาน

ความหมาย

( )^

* | / | div | mod+ | -

หมายเหต: ถาในนพจนหนงตวมการกระทำาทมความสำาคญเทากนใหคำานวณตวดำาเนนการจากซายไปขวา

OperatorSQL Operator คอกระบวนการทำางานเพอเลอกขอมลดวยเงอนไขหรอวธการทตองการ โดยระบบฐานขอมลหรอ Database จะมการจอง key word บางคำา หรอ ตวอกษรไวสำาหรบให SQL statement ใชระบเงอนไข (Where clause) เพอเปนการสงระบบใหทำาตามเงอนไขทวางไว เชน การเปรยบเทยบ การคำานวณทาง

Page 11: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

คณตศาสตร การทำากระบวนการเหลานมกจะใชระบเงอนไขภายใต SQL statement และ สามารถกำาหนกไดหลายเงอนไขภายใน statement นนๆ

ตวอยางรปแบบกระบวนการ (SQL Operator)

คำานวณทางคณตศาสตร(Arithmetic operators) เปรยบเทยบ (Comparison operators) ตรรกศาตร (Logical operators)

 

1. คำานวณทางคณตศาสตร (Arithmetic operators)จากตวอยาง a = 5 , b = 10Operator Description Example

บวก +   เพมคาของขอมล a + b = 15ลบ –   ลดคาของขอมล a – b = 5คณ *   เพมคาของขอมลเปนจำานวนเทา a * b = 50หาร /   ลดคาของขอมลเปนจำานวนเทา b / a  = 2

โมดลส %   หารคาเพอเอาเศษ b % a = 0 

2. เปรยบเทยบ (Comparison operators)จากตวอยาง a = 5 , b = 10Operator Description Example

=   เงอนไขขอมลดานซาย และ ดานขวา เทากน

(a = b) -> false

!=   เงอนไขขอมลดานซาย และ ดานขวา (a != b) ->

Page 12: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

ไมเทากน true

<>   เงอนไขขอมลดานซาย และ ดานขวา ไมเทากน

(a <> b) -> true

>   เงอนไขขอมลดานซาย มากกวา ดานขวา

(a > b) ->  false

<   เงอนไขขอมลดานซาย นอยกวา ดานขวา

(a < b) -> true

>=   เงอนไขขอมลดานซาย มากกวาหรอเทากบ ดานขวา

(a >= b) ->  false

<=   เงอนไขขอมลดานซาย นอยกวาหรอเทากบ ดานขวา

(a <= b) -> true

!<   เงอนไขขอมลดานซาย ไมนอยกวา ดานขวา

(a !< b) ->  false

!>   เงอนไขขอมลดานซาย ไมมากกวา ดานขวา

(a !> b) -> true

 

3. ตรรกศาตร (Logical operators)Operator Description

ALL   เปรยบเทยบขอมลภายในชดทงหมดระหวาง 2 ชด

AND   เชอมเงอนตง 2 เงอนไขขนไป ตองเปนจรงทงหมดถงจะจรง

ANY   เปรยบเทยบขอมลกบชดขอมล โดยถามอยางนอย 1 คาทเหมอนกน จะมคาเปนจรง

BETWEEN   เปรยบเทยบขอมลวาอยระหวางคาตำาสด และ สงสดEXISTS   เปรยบเทยบขอมลวามปรากฎอยในแถวทกำาหนด

Page 13: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

IN   เปรยบเทยบขอมลกบชดขอมล โดยถามอยางนอย 1 คาทเหมอนกน จะมคาเปนจรง

LIKE   เปรยบเทยบขอมลวาเปนสวนประกอบภายในขอมลอกคาหนง

NOT   เงอนไขปฏสธ

OR   เชอมเงอนตง 2 เงอนไขขนไป ถาเปนจรงอนหนงทงหมดจะเปนจรง

IS NULL   ตรวจสอบคาวางUNIQUE   แสดงคาขอมลโดยไมซำา (distinct)

  

การเขาใช Oracle SQL Developer เพอเรยกดขอมลจากระบบฐานขอมล Oracle

Page 14: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

การเรยกดขอมลจากระบบฐานขอมล Oracle

การใชคำาสงเรยกดขอมลแบบพนฐาน

- DISTINCT ดงขอมลทซำากนออกมาแค 1 คา

SELECT * {DISTINCT} column | expression {alias},…………..) from table;

Page 15: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

- alias สมนามของคลอลมน- ทกครงทเขยนตองปดดวยเครองหมาย ; เสมอ

ตวอยาง1.การดงขอมลทกคลอลมนจากตาราง departments

2.การดงขอมลโดยการเลอกแคบางคลอลมน

SELECT * FROM departments;

SELECT department_id,location_id

Page 16: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

ตวดำาเนนการทางคณตศาสตร+ บวก- ลบ* คณ/ หาร

3.การใชตวดำาเนนการทางคณตศาสตร ในการเลอกดขอมล

SELECT last_name,salary,salary + 300 FROM employees;

เปนการดงขอมลจากคลอลมน department_id และคลอลมน location_id จากตาราง

Page 17: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

การเขาไปดำาเนนการ ของ ตวดำาเนนทาง

เปนการดงขอมลจากตาราง departments โดยดงคลอลมนlast_name และคลอลมน salary และขอมลเงนเดอนจาก

SELECT last_name,salary,12 * salary + 100 FROM employees

โปรแกรมจะทำาการหาผลคณ กอน คอยหาผลบวก

SELECT last_name,salary,12 * (salary + 100) FROM employees

หากมเครองหมายวงเลบเขามาครอบ โปรแกรมจะทำาคำาสงใน

Page 18: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

การกำาหนดคาวาง (Detaining a Null Value)- คาวางไมใชเลข 0

การใชตวดำาเนนการทางคณตศาสตรเขามาดำาเนนการกบคาวาง- คาทไดจะเปนคา null ไมใช 0

SELECT last_name,job_id,salary

คาไหนทไมมคา คานนคอคาวางมนจะแสดงคำาวา null

SELECT last_name,12 * salary * commission_pct FROM employees;

หากคา commission_pct ตวไหนทมคากจะนำาไปทำาการคำานวณ แตหาคา

Page 19: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

การตงสมนามใหกบ คลอลมนกฎการตงสมนามใหกบคลอลมน- สามารถใชตวพมพเลกหรอพมพใหญในการตงชอกได

หรอจะใชผสมกนทงพมพเลกและพมพใหญกได- หากสมนามมชองวาง หรอ ใชตวพมพเลกพมพใส

ผสมกนใหใสเครองหมาย ครอบชอนนไว“ ”- การตงสมนามใหกบคลอลมน จะใสคำาวา AS หรอไม

กได หากไมใส ใหเคาะชองวาง 1 ครง กอนตงชอ เลนใหกบคลอลมน

ตวอยางการตงสมนามใหกบคลอลมน

ตวดำาเนนการในการเชอม คลอลมน

SELECT last_name As name, commission_pct comm FROM employees;

SELECT last_name "Name", salary * 12 "Annual Salary" From employees;

มการตงสมนามใหกบคลอลมน last_name ใหมเปน name โดยใชคำาสง As ในการตงชอ และตงสมนามใหกบคลอลมน

มการตงสมนามใหกบคลอลมน last_name ใหมเปน Name โดยใชตวพมพเลกพมพใหญผสมกน และตงสมนามใหกบคลอลมน salary ใหมเปน Annual Salary โดยนำา salary *

Page 20: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

- จะใชเครองหมาย || ในการเชอมคลอลมน

การกำาหนดคาคงท- คาคงทจะตองอยภายใตเครองหมาย ‘ ’

ใชตว q (Quote) ในการกำาหนดคาคงท

SELECT last_name || job_id As "Employees" From employees;

เปนการเชอมคลอลมน last_name กบคลอลมน job_id เขาดวยกน จากนนนำาไป

SELECT last_name | | 'is a' | | job_id As "Employees Detail" From employees;

เปนการเชอมคลอลมน last_name กบคลอลมน job_id เขาดวยกน โดยกำาหนดคาคงทเปน is a เพอเชอมระหวาง 2 คลอลมน

SELECT department_name | | 'Department' | | q'[a Manager ID]' | | manager_id

Page 21: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

การรวมระหวาง Rows ทมคาซำากนออกมา 1 คา

เปนการเชอมคลอลมน department_name กบคลอลมน manager_id เขาดวยกน โดยกำาหนดคาคงทเปน Departmeat และ a Manaer

SELECT department_id FROM employees;

SELECT DISTINCT department_id FROM employees;

เปนการใชคำาสง Select กอนจะใชคำาสง DISTINCT เขามาชวยใน

เปนการใชคำาสง Select ในการเรยกดขอมล และใชคำาสง DISTINCT เขามา

Page 22: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

การเลอกดขอมลแบบกำาหนดเงอนไข- จะใชคำาสง Where เขามาชวยในการเรยกดขอมล ซงเปนสวนหนงในคำาสง Select รปแบบ

ตวอยางการใชคำาสง WHERE

การกำาหนดเงอนไขเปนตวอกษรหรอตวเลข

- ใชสำาหรบการเลอกดขอมลทเปนตวอกษรทวไป- สามารถใชในการเรยกดขอมลทเปนรปแบบวนท (วน/เดอน/ป)

ตวอยางการเลอกดขอมลแบบตวอกษรหรอตวเลข

SELECT * |{DISTINCT| column|expression [alias],……..} FROM table [WHERE conditions];

SELECT employee_id,last_name,job_id,department_idFROM employees WHERE department_id =

เปนการเรยกดขอมลจากคลอลมน employee_id,last_name,job_id และ department_id จากตาราง employees

Page 23: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

ตวดำาเนนการเปรยบเทยบตวดำาเนนการ ความหมาย

= เทากบ> มากกวา

>= มากกวาเทากบ< นอยกวา

<= นอยกวาเทากบ<> ไมเทากบ

BETWEEN…..AND….

การกำาหนดชวงของขอมล

IN(set) แทนคำาสง หรอ (OR) คาทเรา

SELECT last_name,job_id,department_idFROM employees WHERE last_name = 'Whalen';

เปนการเรยกดขอมลจากคลอลมน last_name และ department_id จากตาราง employees โดยมเงอนไขวา last_name ตองเปน Whalen

SELECT last_name FROM employees WHERE hire_date = '17-FEB-96';

เปนการเรยกดขอมลจากคลอลมน last_name โดยมเงอนไขวา hire_date ตองเปน 17-FEB-96เงอนไขตองอยภายใตเครองหมาย และตว‘ ’

Page 24: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

ตองการเรยกดจะอยใน วงเลบLIKE คำาสงทเหมอน ทอยในตวทเรา

สนใจIS NULL คาทเราสนใจ หรอคาวาง

ลำาดบการเขากระทำาของโปรแกรม1 ()2 ^ ยกกำาลง3 * / ไลจากซายไปขวา4 + - ไลจากซายไปขวา5 = >= <= <> < >6 AND, OR, NOT

ตวอยางการเขากระทำาของโปรแกรม(1+2) ^ 2 > 4 and 3 < 5(3) ^ 2 > 4 and 3 < 59 > 4 and 3 < 5T and Tตอบ T

ตวอยางการใชตวดำาเนนการเปรยบเทยบ

SELECT last_name,salary FROM employees WHERE salary <= 3000;

Page 25: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

การเรยกดขอมลแบบมเงอนไข ดวยคำาสง BETWEEN….AND…..

การเรยกดขอมลแบบมเงอนไข ดวยคำาสง IN operator

เปนการเรยกดขอมลจากคลอลมน last_name และ salary จากตาราง

SELECT last_name,salary FROM employees WHERE salary BETWEEN 2500 AND 3500;

เปนการเรยกดขอมลจากคลอลมน last_name และ salary จากตาราง

SELECT employee_id,last_name,salary,manager_id FROM employees WHERE manager_id IN

เปนการเรยกดขอมลจากคลอลมน employee_id ,last_name,salary และ manager_id จากตาราง employees โดยมเงอนไขวา manager_id จะเปน

Page 26: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

การเรยกดขอมลแบบมเงอนไข ดวยคำาสง LIKE operator- ใชสญลกษณ % แทนตวอกษรหลายตว- ใชสญลกษณ _ แทนตวอกษร 1 ตวอกษร

Wildcard Operatorจากบทความเรอง SQL LIKE Clause เราจะเหนวานอกจาก operator LIKE แลวยงมสวนทตองระบเงอนไขคาคงท ทจะนำามาเปรยบเทยบดวย ซงเกอบทงหมดจะตองมการใชงาน SQL Wildcard Operator รวมอยในคาคงทนน เพอเตมเตมเงอนไขใหสมบรณภายใต SQL Where Clause 

สญลกษณของ Wildcard

1. Percent (%)แทนคาเทากบตวอกษรตงแต 0 ตว จนถงกตวกได ถาเทยบกบใน Linux หรอ Unix operating system กจะมคาเหมอนกบสญลกษณ (*)

2. Underscore (_)แทนคาเทากบตวอกษรเพยง 1 ตว ถาเทยบกบใน Linux หรอ Unix operating system กจะมคาเหมอนกบสญลกษณ (?) 

Page 27: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

รปแบบ (Syntax)SELECT FROM table_name

WHERE column LIKE 'XXXX%'

or

SELECT FROM table_name

WHERE column LIKE '%XXXX%'

or

SELECT FROM table_name

WHERE column LIKE 'XXXX_'

or

SELECT FROM table_name

WHERE column LIKE '_XXXX'

or

SELECT FROM table_name

WHERE column LIKE '_XXXX_'

 ตวอยางคำาสง Wildcard OperatorWildcard

statement Detail  WHERE SALARY LIKE ‘200%’   หาขอมลทมคา SALARY ขนตนดวย 200  WHERE SALARY LIKE ‘%200%’   หาขอมลทมคา SALARY ประกอบดวย 200  WHERE SALARY LIKE ‘_00%’

  หาขอมลทมคา SALARY ตวอกษรท 2-3 เปน 00

Page 28: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

  WHERE SALARY LIKE ‘2_%_%’

  หาขอมลทมคา SALARY มอยางนอย 3 ตวอกษร และ ทขนตนดวย 2

  WHERE SALARY LIKE ‘%2’   หาขอมลทมคา SALARY ทลงทายดวย 2

  WHERE SALARY LIKE ‘_2%3’

  หาขอมลทมคา SALARY ตวอกษรท 2 มคาเทากบ 2 และ ลงทายดวย 3

  WHERE SALARY LIKE ‘2___3’

  หาขอมลทมคา SALARY ขนตนดวย 2 และ ลงทายดวย 3 ทงหมดม 5 ตวอกษร

 

ตวอยางSELECT first_name FROM employees WHERE first_name LIKE 'S%';

เปนการเรยกดขอมลจากคลอลมน first_name จากตาราง employees โดยมเงอนไขวา first_name ตองขนตน

SELECT last_name FROM employees WHERE last_name LIKE '_o%';

เปนการเรยกดขอมลจากคลอลมน last_name จากตาราง employees โดยมเงอนไขวา last_name จะขนตนดวยตวอกษรอะไรกได 1 ตวอกษร และตามดวย

Page 29: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

การเรยกดขอมลแบบมเงอนไข ดวยคำาสง IS NULL operator

SELECT last_name,manager_id FROM employees WHERE manager_id IS NULL;

เปนการเรยกดขอมลจากคลอลมน last_name และ manager_id จากตาราง employees โดยมเงอนไขวา manager_id

Page 30: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

การรวมหลายๆเงอนไขไวดวยกน

ตวดำาเนนการทางตรรกศาสตรAND OR XOR

T and T = T

T or T = T

T xor T = F

T and F = F

T or F = T

T xor F = T

F and T = F

F or T = T

F xor T = T

F and F = F

F or F = F

F xor F = F

การใชคำาสง AND

การใชคำาสง OR

SELECT employee_id,last_name,job_id,salaryFROM employees WHERE salary >= 10000 AND job_id LIKE '%MAN%';

เปนการเรยกดขอมลทมเงอนไขวา salary ตองมากกวา หรอเทากบ 10000 และ job_id ตองมคำาวา manager_id จะ

SELECT employee_id,last_name,job_id,salaryFROM employees WHERE salary >= 10000 OR job_id LIKE '%MAN%';

Page 31: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

การใชคำาสง NOT

การเรยงลำาดบผลลพธในการเลอกดขอมลจากฐานขอมล โดยการใชคำาสง ORDER BY ซงเปนสวนหนงของคำาสง SELECT เพอกำาหนดการเรยงลำาดบผลลพธ - จะอยบรรทดสดทายของคำาสง Select

เปนการเรยกดขอมลทมเงอนไขวา salary ตองมากกวา หรอเทากบ 10000 หรอ job_id ตองมคำาวา

SELECT last_name,job_id FROM employees WHERE job_id NOT IN ('IT_PROG','ST_CLERK','SA_RAP');

เปนการเรยกดขอมลทมเงอนไขวา job_id ตองไมใช IT_PROG,ST_CLERK และ SA_RAP

Page 32: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

- ASC เรยงจากนอยไปหามาก (จะเปนคา default คอ จะใสหรอไมใสกได)- DESC เรยงจากมากไปหานอย

การเรยงลำาดบขอมล

SELECT last_name,job_id,department_id,hire_date

เปนการเรยกดขอมลโดยเรยงลำาดบขอมลจากคลอลมน hire_date เรยง

SELECT last_name,job_id,department_id,hire_date

เปนการเรยกดขอมลโดยเรยงลำาดบขอมลจากคลอลมน hire_date เรยง

SELECT employee_id,last_name,salary * 12 annual

เปนการเรยกดขอมลโดยเรยงลำาดบขอมลจากคลอลมน annual ซงเปนสมนามของคลอลมน salary โดยเรยง

SELECT last_name,job_id,department_id,hire_date

สามารถใชหมายเลขของคลอลมนมาเรยงลำาดบของขอมลกได ในทนคลอลมนท 3 คอ department_id SELECT

last_name,department_id,salary FROM employees ORDER

สามารถเรยงลำาดบขอมลไดมากกวา 1 คลอลมน โดยใชเครองหมาย , คน คลอลมนทตองการเรยงลำาดบ

Page 33: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล

การใชตวแปรทรบคามาจาก USER- เปนตวแปรทรบคามาจาก user ตองม & นำาหนาเสมอ

ถาตองการเกบขอมลจาก user เปนตวอกษร/format date ตองใชเครองหมาย ครอบ‘ ’

SELECT employee_id,last_name,salary,department_id

เปนการเรยกดขอมลโดยมเงอนไขวา employee_id จะตองเทากบตวทผใช

เปนการเรยกดขอมลโดยมเงอนไขวา job_id จะตองเทากบตวทผใชกรอกเขาไปในระบบ ในทนคอ

SELECT last_name,department_id,salary*12 FROM employees WHERE job_id = '&Job_id';

Page 34: SQL Syntax - boykap.files.wordpress.com€¦  · Web viewคำสั่ง SQL Command (Structured Query Language หรือ SQL) คือคำสั่งบริหารจัดการฐานข้อมูล