???? SQL (Structured Query Language) - PowerPoint PPT Presentation

1 / 85
About This Presentation
Title:

???? SQL (Structured Query Language)

Description:

Title: SQL (Structured Query Language) Author: nopadol Last modified by: utsanee Created Date: 7/16/2003 7:15:27 AM Document presentation format – PowerPoint PPT presentation

Number of Views:234
Avg rating:3.0/5.0
Slides: 86
Provided by: nop78
Category:

less

Transcript and Presenter's Notes

Title: ???? SQL (Structured Query Language)


1
???? SQL (Structured Query Language)
2
????????????? SQL SQL ???????? Structured Query
Language ?????????????????????????????????????????
?????????????? ????????? SQL ?????????????
?????????????? ???????????????????????????????????
??????????????????????????????????????????????????
SQL ??????? ?????????????????????????????????????
????? ????????????????????????????????????????????
??????????????????????????????????????????
??????????????????????? SQL ?????????????????????
?????? ???? ORACLE ACCESS SQL Base ??? Sybase
INGRES
3
???? SQL Server ??? Microsoft ??????? ????????
American National Standards Institute (ANSI)
????????????????????????? SQL ????
?????????????????????? SQL ??? ANSI-86
?????????????????????????????????????
?????????????????????????? SQL ??? ANSI-86
???????????????????????? SQL ?????????????????????
????? SQL ??????????????????????
??????????????????????????????????????????????????
?????????????????????????????????
4
??????????? SQL SQL ???????????????? 4
???????????????????? (??????????)
?????????????????????????????????
??????????????????????????????????????????????????
??? ??????????????????????? ? ???????????????????
???????????????? ??????????? ???????????????????
(DBMS) ?????????????????????????? SQL
?????????????????????????????????????????? C,
PASCAL, COBOL ??????????????SQL
??????????????????????????????????????????????????
???????????????????
5
????????????????????? ??????????????? ?
???????????SQL ?????????? ?????
????????????????? ???????????????????????????????
??? SQL ???????????????(Interactive)
?????????????????SQL ????????????????
??????????????????????????????????? ? ???
??????????????????????? Microsoft Computer
??????????????? ? SQL ????????????????????????????
???????????????? ?????????????? Hardware ???
Software ?????????????????????????????????????????
??????????????????? SQL ?????????????????????????
?
6
??????????????? SQL 1. ?????????????????????
(Data Definition Language DDL)
??????????????????????????????????????????????????
????????????? ??????????????????????????????
????????????????????? ?????????????
???????????????????? ??????? 2.
???????????????????????????? (Data Manipulation
Language DML) ??????????????????????????????????
???? ???????????????????? ????????????????????
???????
7
3. ??????????????????????????? (Data Control
Language DCL) ?????????????????????????????????
??????????????????? ??????????????????????????????
??????????????????????????????????
???????????????? ? ?????????????????????????????
??????????????????????????????????????????????????
???????? ?????????????????????????????????????????
?????????? ????????? ?????????????????????????????
??????????????????????????????????????????????????
????????????????? ???????
8
?????????????????? SQL ?????????????????????
SQL ???????????? 2 ?????? ?????? 1. ?????? SQL
????????????????????????? (Interactive SQL)
???????????????? SQL ??????????????
??????????????????????????????????????????????????
??? 2. ?????? SQL ????????????????????????????? ?
(Embedded QSL) ??????????????? SQL
???????????????????????????????????????? ? ????
COBOL PASCAL ACCESS ???
9
??????????? SQL ????????????????????????????????
SQL ????????????????? ???????????????????????????
?????????? ??????????? ???????????????????????????
??????????????????????????????????
????????????????????????????????? (FORM)
??????????? (REPORT) ?????????????? ?
??????????????????
10
??????????????????????????? SQL ???????????????
SQL ??????????????? SQL ??????????????????????????
? ORACLE ?????????????????????????????
???????????????????????????????????? SQL
????????????????????????????? ?
??????????????????????????????????????????????????
????????? ?????? SQL ????? ? ???????????????????
?????????????? SQL ????????????????????????????
??????
11
???????????? ??????? ??????
lt gt ??????? ???????? ? ???????????????????????????????????????
(....) ??????? ????????????????????????????????????????????????
??????? ??????????? ??????????????????????????????????????????????
??????? ??????????????????????????????????? ??????????????????
??????? ??????????????????????????????????????????? ???? ?????????? ??????????
12
?????????????????????
????????????????????? (Relational Database)
????????????????????????????????????????????
???????????????????????????????????
??????????????????????????????????????????????????
????????????????????????????????????????????
??????????(Row) ??????????(Column)
??????????????????????????????????????????????????
????????????????????????????????????? ???? SQL
???????
13
???????????????????????????????? ????????????????
??????????????????????????????????????????????
?????????????????????????????????
??????????????????????????????????????? ?
?????????????????????????????????????????????(Norm
alized) ?????????????????????????
???????????????????????????? ??
?????????????????? ???????????????????????????????
???????????????????
14
??????????????????????????????????? ??????????????
????????????????????? ?????????? 1.
??????????????????????????? ??????????????????????
??????????????????????? ??????????????????????????
??????????????????????????????????????????????????
???? 2. ????????????????????????????????????????
??????????????? ??????????????????????????????????
?????????????????????????????????
??????????????????????????? ??? ??????????
????????????????? ?????????????????
15
3. ?????????????????????????????????????????????
??? ?????????????????????????????
??????????????????????????????????????????
??????????????????????????????????????????????????
??????????? (Logical Level) ??????????????????????
????????????????(Physical Level) 4.
?????????????????????????? ???????????????????????
?????? ???????????????????????????????????????????
??????????????????????????????????????????????????
??
16
????????????? ????????????????????????????(Table/
Relation Schema) ?????????????????????????????????
??????? ? ????????????????????????????????????????
??????????????????????? ??????????? ?
??????????????????????????????????????????????????
??????????? ??????????????????????????????????????
?????????????? ????????????????????????????
???????? 2 ?????????? ?????????
17
1. ???????? (Primary Key)?????????????????????????
????????????????????????????????????
??????????????????????????????????????????????????
??????? ???? ??????????? ?????? 2001
??????????????????????????????????? CHAI
??????? ???????????? ???????????? ?
??????????????????????????????????????????????????
???????????? ?????????????????????????????????????
???? (Candidate Key) ????????????????????????????
?????? ????????????????????????????????? ? ??????
???? ??????????????????????????
???????????????????????????????????????????????
??????? ??????????????????????????????????????????
????? (Composite Key) ????????????????????????????
?????
18
2. ??????? (Foreign Key)??????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????? ?????
EMPLOYEE ????????? DEPNO ?????????????????????????
???????????????????? DEP ????????????? DEPNO
???????????????? ?????????????????????????????
1001 ???????? ???????? ???????? EMPLOYEE ???????
1001 ???????????????????? 10 ?????????????????????
?????? (DEPNO) ??????? DEP ??????????????????
ACCOUNTING ???????
19
???????????????????????????????? ??????????????
? ????????????????????????????????????????????????
?????? ???????????????????????????????????????????
??????????????? 1 ???????????????????????? (The
Entity Integrity Rule) ???????????????
?????????????????????????? ???????????????????????
????????? (Null) ?????? ??????????????????????????
????? (Not Null) ??? ?????????????????????????????
??????????????????
20
2. ?????????????????????????? (The Referential
Integrity Rule) ??????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
???????????????? ?????????????????????????????????
??????????????????????????????????????????????????
???????????????????????????????????????????
21
??????????????????????????? (Null)
??????????????????????????????????????????????
?????????????????????????????????????????????????
? ??????????? ???? ??????????? EMPLOYEE
?????????????? (DEPNO) ???????????
?????????????????????????? ???????????????????????
???????????????????? ? ???????????????????????????
?????????????????????????????????????? ?
??????????????????????????????????????????????????
?????? ???????
22
?????? SQL ???????????????? SQL
??????????????????????ACCESS ??????
SELECT 1.????????????? QUERY ????????? TABLE
?????????? 2.???? VIEW ??????????? SQL
view 3.??????????? 4. RUN ???
???????????
23
????????????????????????? ??????????????? SELECT
??????????????????????????????????????????????????
?????????????? ?????? Select From table
name ???????????????????????????????????????????
???? ???????????????????????????????????????????
??????? ?????????????????????????????
EMPLOYEE ??????????????? Select From
EMPLOYEE
24
??????????????????????????????? ????????????
SELECT ???????????????????????????????????????????
??????? ??? ?????? Select Column1,
Column2... From table name ???????????????????
?????????????? ???????????????????????????????????
???????????????????????? ????????????????????????
???????????????????????? , ??????????????????????

25
???? ?????????????? ??????????? ???????
????????? ??????????????? Select NAME,
POSITION, SALARY From EMPLOYEE
26
??????????????????????????????????? ????????????
??????????????????????????????????????????????
??????????????????????????????????????????????????
????????? AS ???? ???????????????? POSITION
???? DEPT ??????????????? Select POSITION AS
DEPT From EMPLOYEE
27
???????????????????????????????????????????? ???
??????????????????????????????????????????????????
????? ?????????? DISTINCT????????? SELECT ????
?????????????? ??????????? ???????????????????????
?????? ??????????????? Select DISTINCT NAME,
POSITION From EMPLOYEE
28
Top n ????????????????????????????????????????????
?????????????????????????????? ????
?????????????? ?????????????????????????5 ???????
???????? Select Top 5 From EMPLOYEE
29
??????????????????????????????????????????????????
?????????????? ??????????? ????????
(Add) ??? - (Subtract) ??
(Multiply) ??? / (Divide) ???
30
???? ??????????????????????????????????????? 3
???????????? ??????????????? Select EMPNAME,
SALARY-(SALARY0.03)AS TOTAL_SALARY From
EMPLOYEE
31
????????????????????????????? ORDER BY ORDER BY
??????????????????????????????????????? Sorting
???????????????????????????????
????????????????????????????????? (Descending
order (DESC) ?????????????????? (Ascending order
(ASC) ???????????????????????????????????????????

32
???? ???????????????????????????????
??????????????? ???? ??????????????? ??????????????????? ??????????????? ???????????????????
Select EMPNAME Select EMPNAME Select EMPNAME
From EMPLOYEE From EMPLOYEE From EMPLOYEE
Order By ENPNAME Order By ENPNAME ASC Order By ENPNAME DESC
33
??????????????? ORDER BY ????????????????????????
???????????????????????? ???? ???????????????????
?????????????????????????????????
???????????????? Select EMPNAME, SALARY From
EMPLOYEE ORDER BY 1 DESC, 2
34
????????????????????????????? ?????????????????
??????????? ?????????????????????????????????????
???????? ????????????????????????????????????????
??????????????????????? 3000 ???????
??????????????????????????????????????????????????
????????????????? ??????????????? SQL
????????????????????????????????????? ????????????
????????????????? ????????????????????? WHERE
??????????????????????? FROM ????????????
35
?????? SELECT Column1, Column2... FROM table
name WHERE CONDITION
36
??????????? WHERE ??????????????????? 3
??????? ??????????? ??????????????????????????
??????????????????????????????????? (LOGICAL
OPERATER) ???????????? SQL ???????????????????????
? BOOLEAN ????????????????????????????????????????
??????????????????????? 1 ???????????????
(CONSTANT) ?????????????????? ??????(EXPRESSON)
??????????????????????????????????????????????????
?????????????????????????????? ??? ????? ??
(DATE) ???????????????????????????????????????????
?? ?????
37
??????????? WHERE ??????????????????? 3
??????? 1. ??????????? 2. ????????????????????????
?? ??????????????????????????????????? (LOGICAL
OPERATER) ???????????? SQL ???????????????????????
? BOOLEAN 3. ?????????????????????????????????????
?????????????????????????? 1 ???????????????
(CONSTANT) ?????????????????? ??????(EXPRESSON)
??????????????????????????????????????????????????
?????????????????????????????? ??? ????? ??
(DATE) ???????????????????????????????????????????
?? ?????
38
????????????????????????????????????????? ???????
????? ???????? ??????? gt ???????
gt ?????????? lt ???????? lt ??????
????????? ltgt ??????????
39
???? ?????????????????????????????
???????????????????????????? 30000 ??????????????
? Select From EMPLOYEE WHERE SALARYgt30000
40
???? ???????????????????? ???? ???????????
???????? ??????????????????????
MANAGER ??????????????? Select EMPNUM, EMPNAME,
DEPNO From EMPLOYEE WHERE POSITION 'MANAGER'
41
???? ?????????????????????????????????????????????
???????????? 300000 ??????????????? Select
EMPNAME, SALARY From EMPLOYEE WHERE
SALARY12gt300000
42
?????????????????????????????????????????
BETWEEN... AND.... BETWEEN...AND
??????????????????????????????????????????????????
???????????????? ?????? BETWEEN...AND
?????????????????????????????????????????????????
43
???? ???????????????????????????????
???????????????????????????????????????????????
20000 ??? 50000 ??????????????? Select EMPNAME,
SALARY From EMPLOYEE WHERE SALARY BETWEEN 20000
AND 50000 ????
44
?????????????????????????????????????????
IN IN ??????????????????????????????????????????
????????????????????????????????????????????? IN
?????????????????????????????????????????????
??????????????????????????????????????????????????
????????????? ?????????????? ???????????????? ,
????
45
???? ???????????????????????? ???? ?????????
??????????????????????????????????????????????????
???????? 1002 2002 ??? 3004 ??????????????? Se
lect EMPNUM, EMPNAME,SALARY,MRGNO From
EMPLOYEE WHERE MRGNO IN ('1002', '2002',
'3004') ????
46
???? ?????????????????????????????????????????????
????? 20 ??? 40 ??????????????????????????????????
??????? ??????????????? Select From
EMPLOYEE WHERE DEPNO IN('20', '40') ORDER BY
SALARY DESC
47
?????????????????????????????????????????
LIKE LIKE ??????????????????????????????????????
??????????????????????????????????????????????
??????????????????????????????????????????????????
? ??????????????????????????????? ????????????
LIKE ???????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????? Wild Card
(???????????) ?????? ?????????????? ????????
??????????? ??????????? ? ???????????
1 ???
48
?????????????????????????????????????????
LIKE LIKE ??????????????????????????????????????
??????????????????????????????????????????????
??????????????????????????????????????????????????
? ??????????????????????????????? ????????????
LIKE ???????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????? Wild Card
(???????????) ?????? ?????????????? ????????
??????????? ??????????? ? ???????????
1 ???
49
???? ?????????????????????????????????????????????
?? S ?????????? ??????????????? Select
EMPNAME From EMPLOYEE WHERE EMPNAME
LIKE"S" ????
50
???? ?????????????????????????????????????????????
? E ?????????? ??????????????? Select
EMPNAME From EMPLOYEE WHERE EMPNAME
LIKE"E" ????
51
???? ??????????????????????????????????????
H??????????2???????????????????????? ????????????
??? Select EMPNAME From EMPLOYEE WHERE
EMPNAME LIKE"?H" ????
52
?????????????????????????????????????????IS
NULL IS NULL ????????????????????????????????????
???????????????????????? ???????????? ????
???????????????????????????????????????? ????????
??????? Select From EMPLOYEE WHERE MRGNO
IS NULL
53
?????????????????????SQL ???? 4
????????????????? ????????????????????????????????
???????????????????????? ?????? NOT
???????????? ???????????? ???????? NOT
BETWEEN ... AND ?????????????????????? ?????
???????? NOT IN ??????????????????????????
??????? NOT LIKE ???????????????????????
??????????? IS NOT NULL ???????????????????
54
??????????????????????????????????????????????????
?? ?????????????????????????????????????????????
???? ?????????????????????????????????????????????
????????????? ?????????????????
?????????? AND ????????????????????????????
?????????????????? ?????????????????????????????
???????? OR ????????????????????????????
?????????????????? ?????????????????????????????
???????????????? NOT ?????????????????????????????
????? ???????????????????? ??????????????????????
?????
55
??????????????????????????????????????? ?????????
????????????????? ???????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????? ( )
???????????????????????????????
56
???? ??????????? ???? ??????? ????????????????????
?????????????????????MANAGER ?????????????????????
???? 30000 ??? 50000 ??????????????? Select
EMPNUM, EMPNAME, POSITION, SALARY From
EMPLOYEE WHERE SALARY BETWEEN 30000 AND 50000 AND
POSITION"MANAGER"
57
???? ???? ??????????? ??????? ????????????????????
??????????????????? 20000 ????????????????MANAGER
???? SUPERVISOR ??????????????? Select EMPNAME,
POSITION, SALARY From EMPLOYEE WHERE SALARY
gt20000 AND (POSITION"MANAGER" OR
POSITION"SUPERVISOR")
58
???? ???? ????????????????????????????????????????
????? 20000????????????????????????????? 20
??????????????? Select From EMPLOYEE WHERE
SALARY lt20000 AND NOT DEPNO"20"
59
???????????????????????????????????????????? ???
??????????????????????????????????????????
????????? ?????????????? ???????????????????????
? ?????????? ???????????????????????????????????
????????????????????????????????????????????????
60
????????? ??????????????????????????
AVG(COLUMN NAME) ?????????????????????????????????????????????????? ? ?????????????????????????
COUNT(COLUMN NAME) ???????????????????????????????????
61
MAX(COLUMN NAME) ????????????????????????????????????????
MIN(COLUMN NAME) ????????????????????????????????????????
SUM(COLUMN NAME) ???????????????????????????????????????
62
???????? ???? ????????????????????????????????? ?
?????????????? SELECT AVG(SALARY) AS
"?????????" FROM EMPLOYEE ??????????????
????????? 21785.714286
63
???????? ???? ????????????????????????????????????
??????30 ??????????????? SELECT COUNT() AS
"?????" FROM EMPLOYEE WHERE DEPNO "30"
?????????????? ????? 5
64
???????? ???? ????????????????????????????????????
????????????????2500 ??????????????? SELECT
COUNT() AS "?????" FROM EMPLOYEE WHERE
SALARYgt 25000 ?????????????? ????? 6
65
???????? ???? ????????????????????????????????????
??????????? ??????????????? SELECT MAX(SALARY)
AS "?????????", MIN(SALARY) AS "?????????" FROM
EMPLOYEE ?????????????? ????????? ????????
? 50000 9000
66
???????? ???? ????????????????????????????????????
??????? 20 ??????????????? SELECT SUM(SALARY)
AS "????????" FROM EMPLOYEE WHERE DEPNO
"20" ?????????????? ???????? 88000
67
???????? ???? ????????????????????????????????????
???????? CLERK ??????????????? SELECT
SUM(SALARY) AS "????????" FROM EMPLOYEE
WHERE POSITION "CLERK" ??????????????
???????? 44000
68
??????????????? GROUP BY GROUP BY
??????????????????????????????????????????????????
?????????????? ???? ??????????????????????????????
????????????????????????? ??????? ????????????
GROUP BY ?????????????????????????????????????????
??????? ??????????????????????????????????????????
??????????????????? GROUP BY ??? ????????????
???????????????????? ?????????????????????????????
???????????? ????????????????????????????????
??????????????????????????????????????????????????
?????????????????
69
?????????????????????? ?????????
?????????????????? ??????????? ????????
?????????????????????????????????
???????????????????????????????????????
???????????????? ?????????????????????????????????
??????????? ??????? ??????????????????????????????
???????????????? ? ?????????????????????? GROUP
BY ??????????????????????????????????
???????????????????????? ?????????????????????????
?????????????????? GROUP BY ???
70
???????? ???? ?????????????????????
????????????????????????????? ? ???????????????
SELECT DEPNO, AVG(SALARY) AS AVG FROM
EMPLOYEE GROUP BY DEPNO ??????????????
DEPNO AVG 10 20250.50 20 29333.33 30
18800.00 40 21000.00
71
???????? ???? ?????????????????????
????????????????????? ????????????? ?????????????
?? SELECT DEPNO, MAX(SALARY) AS MAX, MIN(SALARY)
AS MIN FROM EMPLOYEE GROUP BY DEPNO
?????????????? DEPNO MAX MIN 10 30000 9
000 20 50000 14000 30 29000 10000 40 33
000 9000
72
???????? ???? ????????????????????
??????????????????????????????????????????????????
??????????????????????????? CLERK ???????????????
SELECT POSITION, AVG(SALARY) AS AVG FROM
EMPLOYEE WHERE POSITIONltgtCLERK GROUP BY
POSITION
73
?????????????? POSITION AVG CONTROLLER 3000
0.00 DIRECTOR 50000.00 MANAGER 29000.00 SALES
MAN 13333.33 SUPERVISOR 25000.00
74
??????????????? HAVING ????????? HAVING
????????????????????? GROUP BY ????
??????????????????????????????????????????????
??? GROUP BY ?????????????????????????????????????
???? HAVING ?????????????????????????????????????
HAVING ????????????????? GROUP BY ????
75
??????????????? HAVING ????????? HAVING
????????????????????? GROUP BY ????
??????????????????????????????????????????????
??? GROUP BY ?????????????????????????????????????
???? HAVING ?????????????????????????????????????
HAVING ????????????????? GROUP BY ????
76
???????? ???? ???????????????????????
??????????????????????????????????????????????????
?????????????????????????? 20000 ??????????????? S
ELECT POSITION, AVG(SALARY) AS AVG FROM
EMPLOYEE GROUP BY POSITION HAVING
AVG(SALARY)gt20000
77
?????????????? POSITION AVG CONTROLLER 30000
.00 DIRECTOR 50000.00 MANAGER 29000.00 SUPERV
ISOR 25000.00
78
???????? ???? ?????????????????????
????????????????????????? ????????????????????????
?????????????? 4 ?? ??????????????? SELECT DEPNO,
AVG(SALARY) AS AVG FROM EMPLOYEE GROUP BY DEPNO
HAVING COUNT()gt4 ??????????????
DEPNO AVG 30 18800.00
79
??????????????? GROUP BY???HAVING ???????
WHERE ?????????????????? GROUP BY ??? HAVING
??????????????????????????????????????????????????
??? ???????????? WHERE ?????????????????????
??????????????????????????????????????????????????
??
80
???????????? SELECT DEPNO, AVG(SALARY) AS
AVG FROM EMPLOYEE WHERE AVG(SALARY)gt20000 GROUP
BY DEPNO
81
?????????????????????????????????????
?????????????? WHERE ?????????????????????????????
? ????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????
HAVING ?????????
82
SELECT DEPNO, AVG(SALARY) AS AVG FROM
EMPLOYEE GROUP BY DEPNO HAVING AVG(SALARY)gt20000
83
???????? ???? ?????????????????????
????????????????????????? ???????????????????
20 ??????????????? SELECT DEPNO, AVG(SALARY) AS
AVG FROM EMPLOYEE WHERE DEPNOltgt20 GROUP BY
DEPNO ?????????????? DEPNO AVG 10 2025
0.00 30
18800.00 40
21000.00
84
?????????????????????SQL????????? Access 1.
??????????? Access ???????????(Database)??????????
??????????? 2. ??????? Queries ????????????
Create query in Design view 3. ??????? Show
Table        
85
4. ???????? Close 5. ???????? view
???????????? 6.???? SQL SQL View
????????????????         7 ????
???????????  
Write a Comment
User Comments (0)
About PowerShow.com