lec 04: sql functions sayan unankard 1/2558 5 › sayan › it332 › slides ›...
TRANSCRIPT
![Page 1: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/1.jpg)
www . i t s c i .m ju . ac . t h / sayan
LEC 04: SQL FUNCTIONS SAYAN UNANKARD1/2558
5
![Page 2: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/2.jpg)
CONVERSION FUNCTIONS
Implicit data typeconversion
Explicit data typeconversion
Data typeconversion
2
![Page 3: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/3.jpg)
Oracle server สามารถเปลยนแปลงคาไดโดยอตโนมต ดงน
IMPLICIT DATA TYPE CONVERSION
NUMBERVARCHAR2 or CHAR
DATEVARCHAR2 or CHAR
ToFrom
VARCHAR2 or CHARNUMBER
VARCHAR2 or CHARDATE
ToFrom
3
![Page 4: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/4.jpg)
EXPLICIT DATA TYPE CONVERSION
NUMBER CHARACTER
TO_CHAR
TO_NUMBER
DATE
TO_CHAR
TO_DATE
4
![Page 5: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/5.jpg)
USING THE TO_CHAR FUNCTION WITH DATES
รปแบบของ format_model• ตองอยภายในเครองหมาย single quotation marks
• เปน case-sensitive
• สามารถก าหนดดวยรปแบบวนทตามทตองการได
• มค าสง fm element เพอจดการชองวางหรอเลขศนยทน าหนา ออกไปได เชน 01/03/2008
TO_CHAR(date, 'format_model ')
5
![Page 6: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/6.jpg)
ELEMENTS OF THE DATE FORMAT MODEL
Three-letter abbreviation of the day of the weekDY
Full name of the day of the weekDAY
Two-digit value for the monthMM
Full name of the monthMONTH
Three-letter abbreviation of the monthMON
Numeric day of the monthDD
Full year in numbersYYYY
Year spelled out (in English)YEAR
ResultElement
6
![Page 7: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/7.jpg)
รปแบบของเวลา
การแทรกขอความเขาไปในรปแบบ โดยอยภายในเครองหมาย double quotation marks
การสะกดค าตอทายของตวเลข
ELEMENTS OF THE DATE FORMAT MODEL
DD "of" MONTH 12 of OCTOBER
ddspth fourteenth
HH24:MI:SS AM 15:45:32 PM
7
![Page 8: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/8.jpg)
SELECT last_name,TO_CHAR(hire_date, 'fmDD Month YYYY')AS HIREDATE
FROM employees;
USING THE TO_CHAR FUNCTION WITH DATES
…
8
![Page 9: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/9.jpg)
USING THE TO_CHAR FUNCTION WITH NUMBERS
สามารถจดการรปแบบของตวเลข โดยสามารถใชค าสง TO_CHAR function
Prints a decimal point.
Prints a comma as a thousands indicator,
Places a floating dollar sign$
Uses the floating local currency symbolL
Represents a number9
Forces a zero to be displayed0
ResultElement
TO_CHAR(number, ‘format_model’' )
9
![Page 10: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/10.jpg)
SELECT TO_CHAR(salary, '$99,999.00') SALARYFROM employeesWHERE last_name = 'Ernst';
USING THE TO_CHAR FUNCTION WITH NUMBERS
to_char(1210.73, '9999.9') would return '1210.7'
to_char(1210.73, '9,999.99') would return '1,210.73'
to_char(1210.73, '$9,999.00') would return '$1,210.73'
to_char(21, '000099') would return '000021'
10
![Page 11: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/11.jpg)
ฟงกชนสามารถทจะเรยกใช ซอน ๆ กนได
การประมวลผลจะเรยกจากระดบขางในกอน
NESTING FUNCTIONS
F3(F2(F1(col,arg1),arg2),arg3)
Step 1 = Result 1
Step 2 = Result 2
Step 3 = Result 3
11
![Page 12: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/12.jpg)
SELECT last_name,UPPER(CONCAT(SUBSTR (LAST_NAME, 1, 8), '_US'))
FROM employeesWHERE department_id = 60;
NESTING FUNCTIONS
12
![Page 13: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/13.jpg)
NVL FUNCTION
การแปลงคาวางใหกลายเปนคาตามทตองการ• ชนดของขอมลทสามารถใชในฟงกชนนไดคอ date, character, และ number
• ตวอยางการเรยกใช โดยทชนดของขอมลทเปลยนตองตรงกบขอมลเดม
• NVL(commission_pct,0)
• NVL(hire_date,'01-JAN-08')
• NVL(job_id,'No Job Yet')
13
![Page 14: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/14.jpg)
SELECT last_name, salary, NVL(commission_pct, 0),
(salary*12) + (salary*12*NVL(commission_pct, 0)) AN_SAL
FROM employees;
USING THE NVL FUNCTION
…
1
1 2
2
14
![Page 15: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/15.jpg)
CONDITIONAL EXPRESSIONS
ในค าสง SQL สามารถก าหนดเงอนไขในการแสดงผล โดยใชค าสง IF-THEN-ELSE
ประกอบดวย 2 วธคอ• CASE expression
• DECODE function
15
![Page 16: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/16.jpg)
SIMPLE CASE
Simple CASE
Syntax SELECT Field, Field, CASE Field | Expression WHEN value THEN result WHEN value THEN result ELSE result END As alias FROM Table
Examples
Select Firstname, Case Gender When 'F' Then 'woman' When 'M' Then 'man' End As Sex From Members
16
![Page 17: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/17.jpg)
SIMPLE CASE EXAMPLE
Select Artistname, Region,
Case Region
When 'NC' Then 'South'
When 'VA' Then 'South'
When 'IL' Then 'Midwest'
When 'VT' Then 'New England'
Else 'Somewhere Else'
End As Area
From Artists
17
![Page 18: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/18.jpg)
Artistname Region Area -------------- --------------- -------------The Neurotics NC SouthLouis Holiday IL MidwestWord IN Somewhere ElseSonata VA SouthThe Bullets TX Somewhere ElseJose MacArthur CA Somewhere ElseConfused GA Somewhere ElseThe Kicks NY Somewhere ElseToday ONT Somewhere Else21 West Elm VT New EnglandHighlander OH Somewhere Else
SIMPLE CASE EXAMPLE
18
![Page 19: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/19.jpg)
SWITCHED CASE
Switched CASE
Syntax SELECT Field, Field, CASE WHEN Field | Expression comparison Value | Field | Expression THEN result WHEN Field | Expression comparison Value | Field | Expression THEN result ELSE result END As alias FROM Table
Select TrackNum, TrackTitle, LengthSeconds, Case When TrackNum=1 And LengthSeconds<240 Then 'Short 1st' When TrackNum=1 And LengthSeconds>480 Then 'Long 1st' Else 'Another Track' End as Eval From Tracks Where TrackNum<3
19
![Page 20: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/20.jpg)
SWITCHED CASE EXAMPLE
Select TrackNum, TrackTitle, LengthSeconds,Case
When TrackNum=1 And LengthSeconds<240 Then 'Short 1st Track'When TrackNum=1 And LengthSeconds>480 Then 'Long 1st Track'Else 'Another Track'
End as EvalFrom Tracks Where TrackNum<3
20
![Page 21: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/21.jpg)
SWITCHED CASE EXAMPLE
TrackNum TrackTitle LengthSeconds Eval------------- ---------- ------------------- ------------1 Bob's Dream 185 Short 1st Track2 My Wizard 233 Another Track1 Fat Cheeks 352 Another Track1 Hottie 233 Short 1st Track2 GoodtimeMarch 293 Another Track2 Rocky and Natasha 283 Another Track1 Violin Sonata
No.1 in D Major 511 Long 1st Track2 Violin Sonata
No. 2 in A Major 438 Another Track1 Song 1 285 Another Track2 Song 2 272 Another Track1 I Don't Know 201 Short 1st Track2 What's the Day 332 Another Track
21
![Page 22: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/22.jpg)
DECODE FUNCTION
การใชค าสง DECODE เพอก าหนดเงอนไขไดเชนเดยวกบค าสง CASE
DECODE(col|expression, search1, result1 [, search2, result2,...,][, default])
22
![Page 23: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/23.jpg)
SELECT last_name, job_id, salary,DECODE(job_id, 'IT_PROG', 1.10*salary,
'ST_CLERK', 1.15*salary,'SA_REP', 1.20*salary,
salary)REVISED_SALARY
FROM employees;
USING THE DECODE FUNCTION
…
…
…23
![Page 24: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/24.jpg)
SELECT last_name, salary,DECODE (TRUNC(salary/2000, 0),
0, 0.00,1, 0.09,2, 0.20,3, 0.30,4, 0.40,5, 0.42,6, 0.44,
0.45) TAX_RATEFROM employeesWHERE department_id = 80;
USING THE DECODE FUNCTION
ตวอยางการแสดงคาภาษ จากเงอนไขทก าหนดจากเงนเดอน เฉพาะแผนกหมายเลข 80
24
![Page 25: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/25.jpg)
WHAT ARE GROUP FUNCTIONS?
ฟงกชนกลมคอ ฟงกชนทไดจากการประมวลผลขอมลหลาย ๆ แถวEMPLOYEES
Maximum salary in EMPLOYEEStable
…
25
![Page 26: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/26.jpg)
TYPES OF GROUP FUNCTIONS
• AVG
• COUNT
• MAX
• MIN
• STDDEV
• SUM
• VARIANCE
Group
functions
26
![Page 27: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/27.jpg)
SELECT group_function(column), ...FROM table[WHERE condition][ORDER BY column];
GROUP FUNCTIONS: SYNTAX
27
![Page 28: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/28.jpg)
SELECT AVG(salary), MAX(salary),MIN(salary), SUM(salary)
FROM employeesWHERE job_id LIKE '%REP%';
USING THE AVG AND SUM FUNCTIONS
AVG คาเฉลย SUM คาผลรวม ซงจะใชกบขอมลตวเลขเทานน
28
![Page 29: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/29.jpg)
SELECT MIN(hire_date), MAX(hire_date)FROM employees;
USING THE MIN AND MAX FUNCTIONS
MIN คานอยทสด MAX คามากทสด สามารถใชไดกบ ตวเลข ตวอกษร และ วนท ได
29
![Page 30: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/30.jpg)
USING THE COUNT FUNCTION
COUNT(*) นบจ านวนแถวขอมลทตรงเงอนไข ทก าหนด
COUNT(expr) นบจ ำนวนแถวทไมเปนคำวำง ส าหรบคอลมน expr
SELECT COUNT(commission_pct)FROM employeesWHERE department_id = 80;
SELECT COUNT(*)FROM employeesWHERE department_id = 50;
1
2
30
![Page 31: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/31.jpg)
COUNT(DISTINCT expr) นบจ านวนแถวทไมเปนคำวำง โดยไมรวมแถวทขอมลซ ำของคอลมนexpr
ตวอยางการนบจ านวนแผนกของพนกงาน ในตาราง EMPLOYEES โดยหากแผนกซ ากนจะนบเปน 1SELECT COUNT(DISTINCT department_id)FROM employees;
USING THE DISTINCT KEYWORD
31
![Page 32: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/32.jpg)
GROUP FUNCTIONS AND NULL VALUES
การใชฟงกชนกลมโดยไมมการประมวลผลคาวาง
หากตองการใหประมวลผลคาวางดวยสามารถใชฟงกชน NVL functions
SELECT AVG(commission_pct)FROM employees;
SELECT AVG(NVL(commission_pct, 0))FROM employees;
1
2
32
![Page 33: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/33.jpg)
CREATING GROUPS OF DATA
EMPLOYEES
…
4400
9500
3500
6400
10033
Average salary in EMPLOYEES table for
each department
33
![Page 34: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/34.jpg)
CREATING GROUPS OF DATA: GROUP BY CLAUSE SYNTAX
สามารถใชฟงกชนแบบกลม เพอประมวลผลขอมลเปนกลมยอย ๆ ได โดยระบค าสง GROUP BY clause.
SELECT column, group_function(column)FROM table[WHERE condition][GROUP BY group_by_expression][ORDER BY column];
34
![Page 35: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/35.jpg)
คอลมนทงหมดทถกเลอกใหแสดงผลในค าสง SELECT ไมรวมทถกใชใน ฟงกชนแบบกลม จะตองอยในค าสง GROUP BY clause
SELECT department_id, AVG(salary)FROM employeesGROUP BY department_id ;
USING THE GROUP BY CLAUSE
35
![Page 36: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/36.jpg)
การใชค าสง GROUP BY โดยไมมในคอลมนทเลอกแตอาจจะท าใหสบสนไดวาผลลพธทไดของแตละแถวเปนของแผนกอะไร
USING THE GROUP BY CLAUSE
SELECT AVG(salary)FROM employeesGROUP BY department_id ;
36
![Page 37: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/37.jpg)
GROUPING BY MORE THAN ONE COLUMN
EMPLOYEES Add the salaries in the EMPLOYEES
table for each job, grouped by
department.
…
37
![Page 38: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/38.jpg)
SELECT department_id dept_id, job_id, SUM(salary)FROM employeesGROUP BY department_id, job_id ORDER BY department_id;
USING THE GROUP BY CLAUSE ON MULTIPLE COLUMNS
38
![Page 39: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/39.jpg)
ILLEGAL QUERIES USING GROUP FUNCTIONS
คอลมนทเลอกไมไดระบในสวนของ GROUP BY clause
SELECT department_id, COUNT(last_name)FROM employees;
SELECT department_id, job_id, COUNT(last_name)FROM employeesGROUP BY department_id;
A GROUP BY clause must be added to count the last names for each department_id.
Either add job_id in the GROUP BY or remove the job_id column from the SELECT list.
39
![Page 40: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/40.jpg)
ILLEGAL QUERIES USING GROUP FUNCTIONS
ไมสามารถใชเงอนไขฟงกชนกลม ในสวนของค าสง WHERE ไดอนญาตใหใชค าสง HAVING clause ในการก าหนดเงอนไขของฟงกชนกลม เทานน
SELECT department_id, AVG(salary)FROM employeesWHERE AVG(salary) > 8000GROUP BY department_id;
Cannot use the WHERE clause to restrict groups
40
![Page 41: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/41.jpg)
RESTRICTING GROUP RESULTS
EMPLOYEES
…
The maximum salary per
department when it is
greater than $10,000
41
![Page 42: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/42.jpg)
SELECT column, group_functionFROM table[WHERE condition][GROUP BY group_by_expression][HAVING group_condition][ORDER BY column];
RESTRICTING GROUP RESULTS WITH THE HAVING CLAUSE
กรณทตองการใชค าสง HAVING clause สามารถใชก าหนดเงอนไขไดดงน1. แถวทถกจดกลม
2. ฟงกชนกลม
3. กลมขอมลทตรงกบเงอนไขจะถกแสดงผล
42
![Page 43: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/43.jpg)
SELECT department_id, MAX(salary)FROM employeesGROUP BY department_idHAVING MAX(salary)>10000 ;
USING THE HAVING CLAUSE
43
![Page 44: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/44.jpg)
SELECT job_id, SUM(salary) PAYROLLFROM employeesWHERE job_id NOT LIKE '%REP%'GROUP BY job_idHAVING SUM(salary) > 13000ORDER BY SUM(salary);
USING THE HAVING CLAUSE
44
![Page 45: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/45.jpg)
SELECT MAX(AVG(salary))FROM employeesGROUP BY department_id;
NESTING GROUP FUNCTIONS
แสดงคาสงสดของคาเฉลยของเงนเดอนในแตละแผนก
45
![Page 46: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/46.jpg)
VIEW
Logically represents subsets of data from
one or more tables
View
Generates numeric valuesSequence
Basic unit of storage; composed of rows Table
Gives alternative names to objectsSynonym
Improves the performance of some queriesIndex
DescriptionObject
46
![Page 47: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/47.jpg)
WHAT IS A VIEW?EMPLOYEES table
47
![Page 48: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/48.jpg)
ADVANTAGES OF VIEWS
To restrict
data access
To make complex
queries easy
To provide data
independence
To present different
views of the same
data
48
![Page 49: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/49.jpg)
SIMPLE VIEWS AND COMPLEX VIEWS
Yes
No
No
One
Simple Views
YesContain functions
YesContain groups of data
One or moreNumber of tables
Not alwaysDML operations through
a view
Complex ViewsFeature
49
![Page 50: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/50.jpg)
CREATING A VIEW
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view[(alias[, alias]...)]
AS subquery[WITH CHECK OPTION [CONSTRAINT constraint]][WITH READ ONLY [CONSTRAINT constraint]];
เปนการน าชดค าสง SQL ในการสรางวว
NOFORCE Creates the view only if the base tables exist (This is the default.)
สามารถใชค าสง SQL ทงแบบปกตและแบบซบซอน
50
![Page 51: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/51.jpg)
ตวอยางการสราง EMPVU80 view ซงประกอบดวยขอมลพนกงานในแผนกหมายเลข 80
การเรยกดโครงสรางของ วว ใน SQL*Plus โดยใชค าสง DESCRIBE
CREATING A VIEW
DESCRIBE empvu80
CREATE VIEW empvu80AS SELECT employee_id, last_name, salary
FROM employeesWHERE department_id = 80;
51
![Page 52: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/52.jpg)
การสรางววโดยใชนามแฝงของคอลมน
CREATING A VIEW
CREATE VIEW salvu50AS SELECT employee_id ID_NUMBER, last_name NAME,
salary*12 ANN_SALARYFROM employeesWHERE department_id = 50;
52
![Page 53: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/53.jpg)
SELECT *FROM salvu50;
RETRIEVING DATA FROM A VIEW
53
![Page 54: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/54.jpg)
การแกไขวว EMPVU80 โดยใชค าสง CREATE OR REPLACE VIEW
การใชนามแฝงของคอลมน จะเรยงล าดบตามล าดบของคอลมนทถกเลอกในค าสง SQL ของควร
MODIFYING A VIEW
CREATE OR REPLACE VIEW empvu80(id_number, name, sal, department_id)
AS SELECT employee_id, first_name || ' ' || last_name, salary, department_id
FROM employeesWHERE department_id = 80;
54
![Page 55: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/55.jpg)
CREATING A COMPLEX VIEW
การสรางววแบบซบซอน โดยประกอบดวยฟงกชนกลม
CREATE OR REPLACE VIEW dept_sum_vu(name, minsal, maxsal, avgsal)
AS SELECT d.department_name, MIN(e.salary), MAX(e.salary),AVG(e.salary)
FROM employees e JOIN departments dON (e.department_id = d.department_id)GROUP BY d.department_name;
55
![Page 56: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/56.jpg)
DENYING DML OPERATIONS
ขอควรระวงคอจะตองแนใจวาไมมการใชค าสง WITH READ ONLY ในสวนของการสรางวว
ซงจะท าใหผลลพธของววใน Oracle server เกดขอผดพลาดได
56
![Page 57: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/57.jpg)
CREATE OR REPLACE VIEW empvu10(employee_number, employee_name, job_title)
AS SELECT employee_id, last_name, job_idFROM employeesWHERE department_id = 10WITH READ ONLY ;
DENYING DML OPERATIONS
57
![Page 58: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/58.jpg)
REMOVING A VIEW
การลบวว ซงจะไมกระทบกบขอมลทอยในตาราง สามารถลบววได เพราะววเปนเพยงสวนทใชในการเลอกขอมลจากตารางจรง มาเทานน
DROP VIEW view;
DROP VIEW empvu80;
58
![Page 59: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/59.jpg)
SEQUENCES
Logically represents subsets of data from
one or more tables
View
Generates numeric valuesSequence
Basic unit of storage; composed of rows Table
Gives alternative names to objectsSynonym
Improves the performance of some queriesIndex
DescriptionObject
59
![Page 60: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/60.jpg)
SEQUENCES
A sequence:• สามารถสรางล าดบตวเลขอตโนมต
• อยในรปแบบทแบงปนขอมล
• สามารถน าไปสรางเปน primary key
• สามารถใชแทนรหสในโปรแกรมได
• เพมความเรวในการจดการหนวยความจ าได
1
2 4
3 5
6 8
7
10
9
60
![Page 61: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/61.jpg)
CREATE SEQUENCE STATEMENT : SYNTAX
รปแบบการสรางตวเลขเรยงล าดบอตโนมต
CREATE SEQUENCE sequence[INCREMENT BY n][START WITH n][{MAXVALUE n | NOMAXVALUE}][{MINVALUE n | NOMINVALUE}][{CYCLE | NOCYCLE}][{CACHE n | NOCACHE}];
61
![Page 62: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/62.jpg)
CREATING A SEQUENCE
ตวอยางการสราง ตงชอวา DEPT_DEPTID_SEQ เพอใชเปนคยหลกของตาราง DEPARTMENTS
ไมอนญาตใหใช CYCLE
CREATE SEQUENCE dept_deptid_seqINCREMENT BY 10START WITH 120MAXVALUE 9999NOCACHENOCYCLE;
62
![Page 63: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/63.jpg)
NEXTVAL AND CURRVAL PSEUDOCOLUMNS
NEXTVAL คนคาตวเลขตอไป ของล าดบ ซงจะเปนคาทไมซ า ส าหรบ ทกๆ กลมผใช
CURRVAL คนคาล าดบปจจบน
NEXTVAL จะตองถกก าหนดคากอน ทคาของ CURRVAL จะถกก าหนด
63
![Page 64: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/64.jpg)
USING A SEQUENCE
ตวอยางการเพมแถวขอมลใหม โดยใชตวเลขล าดบ
การเรยกดคาปจจบนของ ตวเลขล าดบ DEPT_DEPTID_SEQ
INSERT INTO departments(department_id, department_name, location_id)
VALUES (dept_deptid_seq.NEXTVAL, 'Support', 2500);
SELECT dept_deptid_seq.CURRVALFROM dual;
64
![Page 65: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/65.jpg)
CACHING SEQUENCE VALUES
การจดการคาแบบเรยงล าดบในหนวยความจ าจะท าใหการเขาถงขอมลไดเรวขน
ชองวางระหวางตวเลขสามารถเกดขนไดจาก• rollback
• ระบบลมเหลว
• ถกน าไปใชในตารางอน
65
![Page 66: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/66.jpg)
MODIFYING A SEQUENCE
ALTER SEQUENCE dept_deptid_seqINCREMENT BY 20MAXVALUE 999999NOCACHENOCYCLE;
การแกไขคาทเพมขน คาสงสด คาต าสด การวนคา และ การจดการหนวยความจ า
66
![Page 67: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/67.jpg)
GUIDELINES FOR MODIFYING A SEQUENCE
DROP SEQUENCE dept_deptid_seq;
จะท าการแกไขไดจะตองมการก าหนดสทธ ใหสามารถใชค าสง ALTER sequence ได
ตวเลขถดไปเทานนทจะมผล หลงจากใชค าสงแกไข ไมสามารถจดการกบคาทผานมาแลวได
หากตองการเรมตนคาใหม จะตองท าการลบออกกอน และ สรางใหม
การลบ sequence โดยใชค าสง DROP
67
![Page 68: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/68.jpg)
SYNONYMS
Logically represents subsets of data from
one or more tables
View
Generates numeric valuesSequence
Basic unit of storage; composed of rows Table
Gives alternative names to objectsSynonym
Improves the performance of some queriesIndex
DescriptionObject
68
![Page 69: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/69.jpg)
CREATING A SYNONYM FOR AN OBJECT
CREATE [PUBLIC] SYNONYM synonymFOR object;
การเขาถงวตถตาง ๆ ใน Oracle สามารถก าหนดใหเรยกใชไดงายขนโดยใชนามแฝง หรอ ชอเหมอนของวตถนน ๆ• สรางการอางอง และ การเขาถงตารางใหงายขนส าหรบบคคลอน ๆ
• เปนการตงชอใหสนลง
69
![Page 70: LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5 › sayan › it332 › slides › Ch04_SQLFunctions.pdf · 2017-09-08 · LEC 04: SQL FUNCTIONS SAYAN UNANKARD 1/2558 5. CONVERSION](https://reader033.vdocuments.pub/reader033/viewer/2022052722/5f0c56367e708231d434e5f6/html5/thumbnails/70.jpg)
CREATING AND REMOVING SYNONYMS
CREATE SYNONYM d_sumFOR dept_sum_vu;
DROP SYNONYM d_sum;
การสรางชอวว DEPT_SUM_VU ใหสนลง
การลบ synonym
70