() , (, ) . .
, . . . . , .
. , , . , . , . , . . , ; .
, , , , .,
:
;
;
.
. , , . , .
"" .
"" . , , , . .
|
|
(), , , :
, ;
;
;
;
, , ;
;
;
.
, , , , , . "", , " ". MS SQL "".
SQL
SQL . 1974-1975 .. IBM . System/R IBM , . , SEQUEL (Structured English Query Language).
1978-1979 .. - SQL.
1982 IBM SQL/Data System. 1983 IBM Database 2 (DB2). SQL, IBM, .
1986 SQL (ANSI / ISO) SQL. , , . , , -, , , -, , / .
( ) . SQL : ( , ..), (, , ), ( , , ), ( ), (, , ), ( ..).
ANSI SQL 6 :
1.
data definition language DDL
create table
alter table
drop table
create index
|
|
alter index
drop index
2.
Data manipulation language DML
insert
update
delete
3.
data query language DQL
select
4.
data control language DCL
grant
revoke
5.
transaction processing language TPL
begin transaction
comit transaction
save transaction
6.
cursor control language CCL
declare cursor
fetch into
update where current
MS SQL Jet CCL DCL.
, MS Access, :
: , , ,
: , , , ,
: , ,
, . , , .
, .
SELECT * FROM
, .
, . , . :
SELECT , , FROM
, . , (.. , , ).
. , .
SELECT , , FROM WHERE =┻
, . , where , select. , , , .. .
, , .
where , . : =, < >, >, <, <=, >=, AND, OR, BETWEEN, LIKE, IN.
( ), , , 2.
SELECT , FROM WHERE = AND =2
, . , . ! , , . :
SELECT ., ., . FROM , WHERE .= AND .=.
. -, , , . , , , , . , (), . WHERE, : .=.. AND .
|
|
, ( ) . , , 2008 .
SELECT ., ., . FROM , , WHERE .=. AND .=. AND .=2008
, . -, , . , ORDER BY. SQL , . , , . .
SELECT . AS , . AS , . FROM , , WHERE .=. AND .=. AND .=2008 ORDER BY ,
, . . , , , .. . , . , , .
SELECT . AS , . AS , . * . AS FROM , , WHERE .=. AND .=. AND .=2008 ORDER BY DESC
, DESC, ( ) ASC. .
, , 2008 . , . .
SELECT . AS FROM , , WHERE .=. AND .=. AND .=2008 ORDER BY
, . 2008 , . . DISTINCT ().
SELECT DISTINCT . AS FROM , , WHERE .=. AND .=. AND .=2008 ORDER BY
DISTINCT . , SELECT. , . DISTINCT ROW. , 2008 , , . DISTINCT ROW, (, 2008 ).
|
|
ALL ( ), . TOP n, n . , , 10 25 , .
SELECT TOP 25 . AS , . AS , . AS FROM , , WHERE .=. AND .=. ORDER BY DESC
JOIN . ISO92. , WHERE. WHERE. , , -, .
SELECT TOP 25 . AS , . AS , . AS FROM INNER JOIN ON .=. INNER JOIN ON .=. ORDER BY DESC
, . -, , ( ). -, JOIN LEFT OUTER RIGHT OUTER, . OUTER . , . , , , - , 2009 . WHERE INNER JOIN, , 2009 . , . null.
SELECT . AS , . AS , . AS FROM LEFT JOIN ON .=. LEFT JOIN ON .=. ORDER BY DESC
RIGHT JOIN , , , ( FROM) . , .
SELECT . AS , . AS , . AS FROM RIGHT JOIN ON .=. RIGHT JOIN ON .=. ORDER BY DESC
- , . . , , . . . , . , . , 1., 2 ., 1 . , , 18 ., 1 . .. , . , . , , .
SELECT ., . FROM INNER JOIN ON .=.
, INNER LEFT, . , .
SELECT . : SUM(), MAX(), MIN() . . , GROUP BY ( ). . : , , GROUP BY. , .
|
|
SELECT SUM(.) AS FROM GROUP BY .
.
SELECT ., SUM(.) AS FROM INNER JOIN ON .=. GROUP BY .
. , .
SELECT ., SUM(.) AS FROM INNER JOIN ON .=. GROUP BY ., .
. , . WHERE , .. . . HAVING. , HAVING , . , , WHERE. , 100000 .
SELECT ., SUM(.) AS FROM INNER JOIN ON .=. GROUP BY . HAVING >100000
: UNION. , , . (), , .
SELECT , _ as FROM
UNION SELECT , FROM
: : , .. . , , . , , .
. , , ( ).
SELECT , _ as FROM
UNION SELECT , FROM WHERE . IN (
SELECT FROM (
SELECT TOP 20 . as , ., SUM(.) as FROM GROUP BY . INNER JOIN ON .=.))
.