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'? ?? ????, ??? ? ?? ???