?? SQL ? PowerPoint PPT Presentation

presentation player overlay
1 / 50
About This Presentation
Transcript and Presenter's Notes

Title: ?? SQL ?


1
?? SQL ?
  • SELECT ?? ?? ?????? ?? ???? ????.
  • INSERT, UPDATE, DELETE ?? ?? ?????? ?? ???? ????.

2
  • 1. ?????? ?? ???
  • 2. ?????? ?? ???

3
  • ?????? ?? ???gtgt SELECT ? ??
  • ??? ?? ??

4

?????? ?? ???gtgt SELECT? ??
  • SELECT?? ????
  • SELECT
  •    ??? ???? ??
  • FROM
  • ??? ???? ??
  • WHERE
  • ?? ??
  • (WHERE?? ?? ???? ?? ?? ??)
  • -????

5
  • ?????? ?? ???gtgt ? ?? ??

SELECT ?? ??? ? ?? ???? ?? ?? ?? ?() ? ??
??? ??? SELECT ? USE pubs SELECT   FROM
stores ? ?? ? ??? ?? ?? ?? ???? ??????, ???
???? ?????? ??? ?? ??? ??? ?? ???? ??? ? ? ?? ???
? ?? ??????? USE ?
6
  • ?????? ?? ???gtgt ? ?? ??

? ?? ? ?? ??? ??? ?? SELECT stor_id,
stor_name, stor_address, city,state, zip   FROM
stores ? (???) ????, ? ?? ??? ??? ?? SELECT
stor_id, zip, state, city, stor_address   FROM
stores
7
  • ?????? ?? ???gtgt ? ?? ??

? ?? ?? ? column AS alias SELECT stor_id AS
'?? ID', zip AS ????, state AS ?,     city AS ?,
stor_address AS '?? ??'   FROM stores ?
column alias ? ?? ???? AS? ??? ?? SELECT
stor_id '?? ID', zip ????, state ?,     city ?,
stor_address '?? ??'   FROM stores ? alias
column ? ??? ??? ??? ?? ???, ??? ???? ????
?? SELECT UnitPrice, Quantity, Discount,    
total_price UnitPrice Quantity (1 -
Discount)   FROM Order Details
8
  • ?????? ?? ???gtgt ? ?? ??

?? ? ? ??? ? ? ?? ?? ???? ??? ?? ?? ???? ?
? ?? ?? ? SELECT UnitPrice AS '??', Quantity
AS '??', Discount AS '???',     '??', UnitPrice
Quantity (1 - Discount)   FROM Order
Details ? ?? ?? ? SELECT 7 AS Lucky,
firstname, lastname   FROM employees ??(p73)
9
?????? ?? ???gtgt ? ?? ??
? FROM ?? ?? SELECT ? SELECT 'Lucky', 7, '? ??'
? ??? ???? ?? ? ?? ?? ???? ????? ?? ??? ??? ??
DECLARE _at_var1 int, _at_var2 int ? ?? ???? SET
_at_var1 1 ? ??? ?? ?? SET _at_var2 2 SELECT
_at_var1 AS '????', _at_var2 AS '?? ??'
10
?????? ?? ???gtgt ? ?? ??
?CONVERT() - ???? ??? ?? - ?? CONVERT( ???
?????, ?? ???) SELECT CONVERT(char(30),title)
AS ?? ?? FROM titles
SELECT CONVERT(int, 32.2) SELECT CONVERT(int,
32) SELECT CONVERT(varchar(5),32.2) SELECT
CONVERT(float, 32)
11
?????? ?? ???gtgt ? ?? ??
?? ?? ?? - CEILING() ??? ??? ??? ??, ?? ??
??(??) ex) SELECT CEILING(29.9),
CEILING(29.1) - FLOOR() ??? ??? ??? ??, ?? ?
??(??) ex) SELECT FLOOR(29.9), FLOOR(29.1)
- ROUND() ??? ex) SELECT ROUND(29.1, 0),
ROUND(29.9,0), ROUND(29.853,1) - ABS()
??? - SQUARE() ??? - POWER(??, y) y?? ?
12
?????? ?? ???gtgt ? ?? ??
?? ?? ?? - ? ??? ??? ?? ex) SELECT
first name - LEFT() ???? ??? ????? ???
??? ex) SELECT left(student,3) - RIGHT()
????? ??? ?? ?????? ???? ??? - LEN() ???
??? ??? ??? ex) SELECT LEN(student) -
LOWER() ???? ?? - UPPER() ???? ?? -
LTRIM/RTRIM() ?? ?? - REPLACE() ??? ?????
??? ???? ?? ex) SELECT REPLACE(student,
t,s) - SUBSTRING() ??? ???? ??? ex)
SELECT SUBSTRING(student,2,2) ??? ???
?? ??? ???(??? 2byte?? ? ???? ??)
13
?????? ?? ???gtgt ? ?? ??
?? ?? ?? - GETDATE() ?? ??? ??? ??? -
DATEADD() DATEPART? ??? ?? ?? ex) SELECT
DATEADD(DD,100,GETDATE()) - DATEDIFF() ? ??
??? DATEPART ?? ? ?? ex) SELECT
DATEDIFF(MM,2004-01-01,2004-12-31) -
DAY() ?? ??? DAY ?? ?? - MONTH() ?? ??? MONTH
?? ?? - YEAR() ?? ??? YEAR ?? ?? - ?????
DATEPART ?
DATEPART ?? ?? ??
YEAR YY 17539999 ??? 17539999?? ??
MONTH MM 112 1?12?
DAY DD 131 ??? 31???
DAY OF YEAR DY 1366 1?? 366?
14
?????? ?? ???gtgt ? ?? ??
WHERE ??? ?? ???? ?? ??? ?? ???
? ? 1 ?? ??? USE Pubs   SELECT
  FROM stores   WHERE stor_id
'7896'
? ? 2 lt ?? ??? SELECT   FROM
titleauthor   WHERE royaltyper lt 30
15
?????? ?? ???gtgt ? ?? ??
?? ??? ? ????? ????? ???? ???
? ???? NOT ? AND ? OR ? ?? ??? ???? ( )?
??? ??? ?
16
?????? ?? ???gtgt ? ?? ??
? ?1 ?? ????? ??? ??(??? ???? ??) ??
??? NOT ? AND ? OR ? SELECT   FROM
titleauthor   WHERE NOT au_id '213-46-8915'
    AND title_id 'BU1032'     OR
royaltyper 40 ? ?2 ( )? ?? ????? ?? ???
?? ?? ??? OR ? AND ? NOT ? SELECT
  FROM titleauthor   WHERE NOT (    
au_id '213-46-8915'     AND (      
title_id 'BU1032'       OR royaltyper 40
    )   )
17
?????? ?? ???gtgt ? ?? ??
??? ?? ??(LIKE ???) ? LIKE ???? ??? ??
??(pattern matching)? ? ?? ?????, ??? ??? ??? ??
??? ? ?? match_expression  LIKE  pattern
match_expression?? ?? ? ?? ?? ??? ??, pattern??
????? ??? ??? ??? ??? ? ? ????? ??
18
?????? ?? ???gtgt ? ?? ??
? ?1 SELECT au_lname, au_fname, phone  
FROM authors   WHERE au_lname LIKE
'CKRa'   ORDER BY au_lname ASC ? LIKE
???? ??? ??? ???? ?????(?? ??? ?????), ? ???? ??
??? ??? ???
ABC, ACB, BA, ABCD, CDA, DAB, BDA, DCBA
? ??? ??? ?? ??? 1) A_ 2)A
3)DA 4)AB 5)AB 6)A-C
7)_ _B 8)A_C
19
?????? ?? ???gtgt ? ?? ??
?? ??(BETWEEN ???) ? ?? ?? ?? ? ??? ???
????? ??? ?? ? ?? ?? ?? ?? ??? ??? ? ??
range_expression  BETWEEN  min_value  AND 
max_value range_expression?? ?? ? ?? ?? ??? ? ?
BETWEEN ???? ???? ?? ? ??? range_expression 
gt  min_value  AND  range_expression  lt
max_value ? range_expression? ?? ??? ?? ??
?????, ?? ?? ???? ??? ?? ?? ????. ? ?? ????
??? ???? ??? ???? ?? ? ?? ?? ? ??? ?? ??? ?????
???? ?
20
?????? ?? ???gtgt ? ?? ??
? ?1 ?? ??? ?? ?? SELECT   FROM
titleauthor   WHERE royaltyper BETWEEN 30 AND 40
? ?2 ?? ??? ?? ?? SELECT   FROM
titleauthor   WHERE title_id BETWEEN 'BU1032'
AND 'BU2075' ? ?3 ???? ??? ?? ?? ??
ord_date? 1994-09-13 123400.000?? ?? ????
???(9? 13? 0??? 0????(24???? ??!) ??? ???? ????).
SELECT   FROM sales   WHERE ord_date
BETWEEN '9/13/1994' AND '9/13/1994'
21
?????? ?? ???gtgt ? ?? ??
?? ??(IN ???) ? ?? ?? ? ? ??? ????? ??? ?????
?? ? ?? list_expression  IN  ( value_list )
? list_expression?? ?? ? ?? ?? ??? ??. ?
value_list?? ??, ??? ??? ?? ??? ??.    (?) col
IN (1, 2, 4, 9) ? value_list? ?? ??? ? ?? ??,
??? ?? ???? ? ?1 IN ??? ?? SELECT   FROM
stores   WHERE state IN ('CA', 'OR', 'WA')
? ?2 ?? ? ?? ??? ?? ?1?? ?? ? ???? SELECT
  FROM stores   WHERE state 'CA'
    OR state 'OR'     OR state
'WA'
22
?????? ?? ???gtgt ? ?? ??
NULL ??(IS ???) ? NULL ?? ?? ??. ?? ??? ??
0? ???, ?? ??? ?? ??( )?? ? ??()? ??. ? ??
NULL? ???? ???? ?? ????, ??? ?? NULL? ? NULL? ??
??? ?? ???? ??? ??? IS ?? IS NOT? ???? ? ? ?1
NULL? ??? ??? ?? Price ? ?? NULL? ?? 2?
??(NULL? ?? ?? 16?) SELECT Title, Price
FROM Titles ? ?2 NULL? ?? 0? ??? ??? ???
?? NULL? ? ??? ? ??? ???? ?? SELECT Title,
Price   FROM Titles   WHERE Price NULL
23
?????? ?? ???gtgt ? ?? ??
NULL ??(IS ???) ? ?3 ltgt NULL? ?? 0? ???
??? ??? ?? NULL? ltgt? ??? ?? ??? ???? ?? SELECT
Title, Price   FROM Titles WHERE Price ltgt
NULL ? ?4 IS NULL? ?? ??? ??? ?? SELECT
Title, Price   FROM Titles   WHERE Price IS
NULL ? ?5 IS NOT NULL? ?? ??? ??? ??
SELECT Title, Price SELECT Title, Price  
FROM Titles   WHERE Price IS NOT NULL
24
?????? ?? ???gtgt ?? ?? ??
? ??(ORDER BY ?) ? ???? ??? ????? ???? ?? ???
???? ??? ? ??? ?? ?(?)? ???? ????? ? ? ORDER BY
?? ?? ? ?? ORDER BY order_by_expression
ASC DESC ,...n ?
order_by_expression? ??? ?? ????. ?? ??? ? ?? ??
? ??, ??? ?? ? ??, ??? ???? ?? ??? ??? ? ??.
? ASC? ???? ???, DESC? ???? ??? ???? ????.
????? ??????? ASC? ???? ????. ASC? DESC? ??? ???
????. ? order_by_expression? ?? ? ?? ?? ? ??
?? 1? ?? ?, ? ?? ?? 2? ?? ? ?? ?? ????.
25
?????? ?? ???gtgt ?? ?? ??
? ?1 ? ???? ?? SELECT royaltyper, title_id,
au_id   FROM titleauthor   WHERE au_id lt
'472-27-2349'   ORDER BY royaltyper DESC,
title_id ? ?2 ??? ???? ??? ?? ORDER BY ??
1? ? ??? ? ?? ?? royaltyper? ????, 2? ? ?? ??
title_id? ???(?? ??? ??) SELECT
royaltyper, title_id, au_id   FROM
titleauthor   WHERE au_id lt '472-27-2349'
  ORDER BY 1 DESC, 2
26
?????? ?? ???gtgt ?? ?? ??
? ?? ?? ????(TOP n) ? ??? ? ?? ???? ???? ??
??? ?? ? n ??? ?? ? ? ??? 6?? ?? ????
SELECT TOP 6 title_id, qty FROM sales ? WITH
TIES ?? ?? ??? ?? ?? ???(ORDER BY ?? ????)
SELECT TOP WITH TIES 6 title_id, qty FROM
sales ORDER BY qty DESC ? PERCENT ??? ??? ??
??? SELECT TOP 25 PERCENT title_id, qty FROM
sales ORDER BY qty DESC
27
?????? ?? ???gtgt ?? ?? ??
?? ? ??(DISTINCT) ? ?? ???  ??? ????? ????
???? ??? ? ??? DISTINCT? ???? ? ? ?? DISTINCT
column ,...n ? column(?)? ?? ? ?? ?? ?? ??
??? ?? ???? ??? ? ? DISTINCT? ??? SELECT ??
ORDER BY ?? ?? ???? ???? ??? ? ??? ??? ???? ?
? ?1 ? ??? ?? SELECT DISTINCT state  
FROM stores ??(p105)
28
?? ??
?? ???? ?????
29
?? ??
??? ??? ????? - ?? ??? ????? - ????,
??, ?? ??? ??? ????? - ??? ???? ??????
???? ??, ??? ?????. - ??? ???? ?????? ????
??, ??? ?????. - ??? ???? ??? ? ?? ???
???? ???? ??, ????, ??, ??? ????? -
??? ??? ??? ? ??? ?? ??? ????? - ?? ???
??? ??? 5?? ??, ??, ????? ?????
30
?? ??
??? ??? ????? - ??? 200,000 ?? ? ??? ??,
??, ??? ????? - ????? 2006-08-20 ???
??? ????, ??, ??, ????? ????? - ???
??? ??? ????, ??, ??? ????? - ??? ? ? ??
??? ????, ??, ??, ??? ????? - ?????
2006-07-20 ?? 2006-08-20 ??? ???? ???
?? ??? ????? - ??? ??? ??? ??? ??, ???
?????
31
?? ??
??? ??? ????? - ??? ??? ???? ?? ? ???
??, ??, ??? ????? - ??, ??? ??? 10 ???
?? ?????? ???? ??? ?? - ??? ???
??? ??? ?? ??? ?? ? ??? ????, ???
????? - ??? ??? ???? ???? ?? ?? ??
??? ???? ? - ?????? ??? ???? ??
??,??,????? ????? - ?? ??? ??? 2.5? ????
100???? ????? ??, ??,??? ?????(??? ??? ???
????? ?)
32
?????? ?? ???gtgt INSERT ? ??
?? ? INSERT ?? ???? ? ?? ???? ??? ? ??
INSERT INTO table_name   ( column_list )  
VALUES ( value_list ) ? INSERT? table_name
??? ??? INTO? ??? ? ??. ? column_list? ???
??? ?? ??? ??? ??? ????.      (?) col1, col2,
... ? value_list? ??? ??? ?? ??? ??? ???
????.      (?) val1, val2, ... ? value_list?
??? ?? ?? ??? ?? ????. ? ?? ?? ??, ??? ??,
???, ???(DEFAULT) ?? ? ? ??.
33
?????? ?? ???gtgt INSERT ? ??
?? ??
? INSERT ?? ??? ????, ? ???? ????? ???? ??? ? ??
??? ?? ???
34
?????? ?? ???gtgt INSERT ? ??
? INSERT ?? ???? ? ??? ??? ? ???? ???? ???? ??
???? ??? ?? ??? ??? ?? ?? ? ???? INSERT ?? ???
? ?? ??? ??(???? ?? ?? ??? ? ??) ? ????
INSERT ?? ? ??? ?? ??(? ?? ???? ??? ?? ??)
?? ? USE pubs   INSERT stores
  ( stor_id, stor_name, stor_address, city,
state, zip )   VALUES ( '9001', 'Book Baron',
'1236 S. Magnolia Ave.', 'Anaheim', 'CA',
'92804' )
35
?????? ?? ???gtgt INSERT ? ??
? ?? ?? ? ??? ? ??? ??? ??   INSERT
stores   ( zip, state, city, stor_address,
stor_name, stor_id )   VALUES ( '94705',
'CA', 'Berkeley', '2904 College Ave.',    
'Avenue Books', '9002' ) ? ??? ?? ??
SELECT   FROM stores   WHERE stor_id
'9002' ? ?? ?? ?? ??? ??? ?? ????
?
36
?????? ?? ???gtgt INSERT ? ??
? ?? ? ?   INSERT stores (
stor_id )   VALUES ( '9003' )
? ?? ??? ? ?? SELECT   FROM
stores   WHERE stor_id '9003'
? ?? ?? ??? ??? ?? ??. NULL? ???? ??(NOT
NULL), ???(DEFAULT)? ???? ?? ?? ?? ???? ??? ???
37
?????? ?? ???gtgt INSERT ? ??
??? DEFAULT ?? ? ? ???? ?? ? ??? ???
DEFAULT? ?? ? ?? ??? ??? ?? NULL? ???
? ? INSERT employee ( emp_id, fname,
minit, lname, job_id, job_lvl, pub_id, hire_date
)   VALUES ( 'ZZZ12345M', 'Irum', DEFAULT,
'Seong', DEFAULT, DEFAULT, DEFAULT, DEFAULT )
? ?? ??? ? ?? SELECT  
FROM employee   WHERE emp_id 'ZZZ12345M'
38
?????? ?? ???gtgt INSERT ? ??
??? NULL ?? ? ? ???? NULL? ???? ????
???? ???? ??? NULL? ??? ? ?
INSERT publishers ( pub_id, pub_name, city,
state, country )   VALUES ( '9911', 'Bad
Publisher', 'L.A.', 'CA', NULL ) SELECT
  FROM publishers   WHERE pub_id
'9911' ? NULL ??? DEFAULT? ???? ??
SELECT   INSERT publishers ( pub_id,
pub_name, city, state, country )   VALUES
( '9912', 'Good Publisher', 'L.A.', 'CA', DEFAULT
) SELECT   FROM publishers
  WHERE pub_id '9912'
39
?????? ?? ???gtgt INSERT ? ??
??? NULL ?? ? ? ???? NULL? ???? ????
???? ???? NULL? ??? ? ? INSERT
publishers ( pub_id, pub_name, city, state,
country )   VALUES ( '9911', 'Bad
Publisher', 'L.A.', 'CA', NULL ) SELECT
  FROM publishers   WHERE pub_id
'9911' ? NULL ??? DEFAULT? ???? ??
SELECT   INSERT publishers (
pub_id, pub_name, city, state, country )
  VALUES ( '9912', 'Good Publisher', 'L.A.',
'CA', DEFAULT ) SELECT   FROM
publishers   WHERE pub_id '9912'
40
?????? ?? ???gtgt INSERT ? ??
DEFAULT VALUES ? ? ?? ?? DEFAULT?
????? ? ?? ? ? USE Northwind
  INSERT Orders   DEFAULT VALUES
? ?? ??? ? ??   SELECT   FROM
Orders   WHERE OrderID _at__at_IDENTITY
41
?????? ?? ???gtgt INSERT ? ??
INSERT SELECT / SELECT INTO ? ?
SELECT INTO ? ???? ???? ???? ??? ???? ??
SELECT ???, INTO ?? ?? ????
FROM ??? ???? ? INSERT .. SELECT ?
???? ???? ???? ??? ???? ?? INSERT ????
??? ???? SELECT ??? ???, FROM
???? ??? ????
42
?????? ?? ???gtgt INSERT ? ??
???? ? ??? ???? ?? ???? ??? ???? ?????
1. ???? 21, ?? ????, ????, ???, ??
??, ??75000, ???? ?? ?? 2.
???? 22, ?? ?????, ????, ??35000, ???? ?? ??
43
?????? ?? ???gtgt UPDATE ? ??
?? ? UPDATE ?? ???? ?? ??? ?? ???? ???
? ?? UPDATE table_name   SET
column1 value1     , column2
value2, ...   WHERE search_condition
? columni valuei ?? ??? ?? ??? ? ??(??
??? ,? ??). ? WHERE ?(WHERE
search_condition)? ??? ?? ???, ? ?? ?? ?? ?????
??? ???? ???? ?(??? ???? ??? WHERE ?? ???).
44
?????? ?? ???gtgt UPDATE ? ??
?? ??
45
?????? ?? ???gtgt UPDATE ? ??
?? ? USE pubs   SELECT
  FROM roysched WHERE title_id 'BU1032'
  UPDATE roysched   SET royalty 8
  WHERE title_id 'BU1032'   SELECT
  FROM roysched   WHERE title_id
'BU1032'
46
?????? ?? ???gtgt UPDATE ? ??
??? DEFAULT ?? ? ???? ?? ?? ??? ?? NULL?
?? ? ? SELECT country   FROM publishers  
WHERE pub_id '9911'   UPDATE publishers   SET
country DEFAULT   WHERE pub_id '9911'
  SELECT country   FROM publishers   WHERE
pub_id '9911'
47
?????? ?? ???gtgt UPDATE ? ??
???? ? ??? ???? ?? ???? ??? ???? ?????
1. ??? ???? ??? ??? ???? ?????
2. ??? ?? ???? ??? ??? ?? ?? ?????
3. ??? ??? ?? ??? ??? 10 ??? ???? ?????.
48
?????? ?? ???gtgt DELETE ?
?? ? ???? ?? ??? ?? ???? ??? ? ??
DELETE FROM table_name   WHERE
search_condition ? DELETE? table_name ??? ???
INTO? ??? ? ?? ? WHERE ?(WHERE
search_condition)? ??? ?? ???, ? ?? ?? ?? ?????
??? ???? ???? ?(??? ???? ??? WHERE ?? ???).
49
?????? ?? ???gtgt DELETE ?
?? ??
? DELETE ?? ???? WHERE ??? ??? ?? ? ??? ??? ?
WHERE ?? ???? ??? ??? ???? ???, ??? ???? ?? ?? ?
??? ?? ??? ? DELETE ?? ? ??? ????, ?? ??? ???
?? ??
50
?????? ?? ???gtgt DELETE ?
?? ? ? ?? ???? DELETE ?? ?? ? DELETE
stores   WHERE stor_id '9001' ? stores
????? stor_id? '9001'? ?? ?? ??? ? stor_id? ?
??? ?? '9001'? ?? ????, ??? ? ?? ???
Write a Comment
User Comments (0)