.


:




:

































 

 

 

 


SQL 1




]

, SQL-, . , .

]

SQL .

]

SQL , . , , SQL-. , . , , , .

SQL

]

. , . , SQL . , SQL [8]: (null) =

]

SQL , , .

]

ANSI SQL-92, , (, Oracle, Sybase, Microsoft, MySQL AB), SQL, , . , .

SQL - . SQL - SQL, .

5 SQL- [9]:

1. DDL (Data Definition Language - ) :

* (CREATE), (ALTER), (DROP) ( (TABLE), (VIEW), (INDEX), (SEQUENCE), (TRIGGER) .);

* (GRANT) (REVOKE) (ROLE) ;

* (ANALYZE) , , ;

* (AUDIT) - , ;

* (COMMENT) .

2. DML (Data Manipulation Language - ) (, ):

* (SELECT);

* (INSERT);

* (UPDATE);

* (DELETE);

* (MERGE).

3. Transaction Control ( ) , DML-. DML- ( ) , , , .. , . , , ( ) . :

* (COMMIT) ;

* (ROLLBACK) ;

* (SAVEPOINT).

4. Session Control ( ) :

* (SET ROLE) , ;

* (ALTER SESSION), , .;

5. System Control ( ) (ALTER SYSTEM), , , . , SQL , .. SQL- (DDL, DML, Transaction Control) , (, */++, Pro*COBOL .); Oracle SQL- , .

SQL

1. , , SQL.

2. , , , .

3. , , ( ) .

4. , 3., / .

, \ .

6. , [ ], .

7. () :

;

.

8. , , , .

5.

9. :=

SQL- DML, (SELECT).

:

SELECT {*| [{DISTINCTl AUJ] [, ...]} [INTO ] FROM [, ...] [WHERE [ [and ...]] [{and| OR} ... ]]]/ and OR

[GROUP BY [, ...]] [HAVING ]

[ORDER BY [{ASC_| DESC}] [, [{ASC | DESC}]...]]

ALL , .. ( ) DISTINCT -

:= | |

:= | | | | := [ .] := +1 -1 /1 *

:= ! := , := AVG ( ) I COUNT (*)| COUNT ([{DISTINCTl ALL}] ) | MIN ( ) | ( )] SUM ( ) COUNT (*) / / COUNT (" ") / NOT NULL .

: = [] / - . . : =

:= [{| | }...]

: = 1 2

1 2: = , , ,

: = =| <| >| <=| >=| <>

: = { | [NOT] BETWEEN AND | [NOT] IN { [ }! [NOT] LIKE | IS [NOT] NULlI {ALLl ANYl SOME} [NOT] EXISTS } : = SELECT...

() , .

: = SELECT

: = SELECT / /

: CREATE TABLE ( [] [ ...] [ ] [, [] [ ...] [ ]...] [, ...])

" ": = NOT NULL | UNIQUE | PRIMARY KEY | CHECK ()!

REFERENCES [( )] /, / PRIMERY KEY UNIQUE ,

PRIMERY KEY : = UNIQUE ( )| PRIMARY KEY ( )| / / FOREIGN KEY ( )! REFERENCES [( )] CHECK ()

= / /

: = DEFAULT VALUE =

SQL , (. 3.42).

   

 

 

 

 

 

 


. 3.42. SQL

 

SQL :

, , SQL.

, , , . ;.

(SELECT) (FROM) :

SELECT FROM ;

, * .

SELECT * FROM ;

, :

SELECT , FROM ;

DISTINCT SELECT , .

, , ( ), DISTINCT:

SELECT DISTINCT FROM ;

, WHERE , .

(=,>,<,<>), (true, false) . ( ). , AND () OR (), . , AND OR.

SELECT FROM _ WHERE ;

, 19- , 30:

SELECT , _, _ FROM

WHERE = ' 19' AND _ > 30;

, SQL , :

* BETWEEN... AND... , AND

* IN (list) -

* LIKE -

* IS NULL - ,

, , , '7':

SELECT * FROM

WHERE _ like '7%';

_ ; % .

, () . . .

:

* LOWER ( )

* UPPER ( )

* INITCAP ( , )

* CONCAT ( - )

* SUBSTR ( )

* LENGTH ( )

* INSTR ( )

* TRIM ( / )

* LPAD/RPAD ( / )

* REPLACE ( )

, , :

SELECT _, FROM

WHERE UPPER(SUBSTR(OHO,1,6)) like ''; :

* MONTH_BETWEEN ( 2 )

* ADD_MONTH ( )

* NEXT_DAY ( , )

* LAST_DAY ( )

* SYSDATE ( )

, , :

SELECT NEXT_DAY(SYSDATE, '') FROM DUAL;

Oracle DUAL, DUMMY () 'X'; , , .. .

. , , SELECT. , .

- , , :

* TRUNC ( ) -

* ROUND ( ) -

, , , 19- :

SELECT , ROUND (_, -1) FROM

WHERE - '19';

ROUND, TRUNC 2- , () , - , (1, 2 ..) () ( ), .. 1 - /-, 2 - /- ..

, ORDER BY, ( SELECT) : (ASC - ) (DESC).

SELECT _ FROM

ORDER BY ()_ ^;

, 8521 (.. ) , (.. ).

SELECT _, , _, _ FROM

WHERE _ - '8521'

ORDER BY , _ DESC;

. GROUP BY, , . , GROUP BY. : COUNT ( ), SUM ( ), AVG ( ), ( ), MIN ( ) (SUM, AVG ). , . SELECT , , , . HAVING, . WHERE.

SELECT __, _(_) FROM

GROUP BY __ HAVING ;

, : ( '8' ), ( 10 ) .

SELECT _, 1;(_), sum (_) FROM

WHERE LIKE '8%' GROUP BY HAVING 1:(_) >10

ORDER BY () _ ^]

:

1) FROM ( );

2) , WHERE , ( , , '8');

3) , GROUP BY ( , '8');

4) , HAVING ( , '8', , 10 );

5) , SELECT ( );

6) , ORDER BY ( SELECT).

, . . 2- . ( .) - , :

- ( ) ( );

, SELECT .

, , , .. . WHERE, : , , (-1) .

:

SELECT 1. 1, 2. 1, 2.2, . 1

FROM 1, 2, 3 WHERE 1. 1 = 2. 1 AND 2.2 = . 1;

, 8521 ( ).

SELECT ._, ._, ._, ., ., ., ._, ._ FROM , _

WHERE ._ = ._ AND ._ = '8521' ORDER BY ._, .__, ._; 2- :

* , . .

* , . , .

, , , . ( + , ) , , , (.. ).

SELECT .*

FROM ,

WHERE . (+) = .

ORDER BY ._, ._, .__, ._;

, , , . ( (+) , ) , , , (.. ).


-


3.43. 3.6. )

, . , , ( ), , .. - .

, , :

SELECT . , . FROM , WHERE ._ = . ORDER BY 1;

.

SQL-86, FROM , WHERE - , . ANSI SQL-92 : FROM , JOIN ON , . (+) LEFT/RIGHT , , OUTER [10]:

SELECT 1.1, 2. !, 2.2 FROM 1

[LEFT/RIGHT/OUTER] JOIN 2 ON 1. 1 = - 2. 1

[LEFT/RIGHT/OUTER] JOIN ON 2.2 = . 1 WHERE ;

, , , , , :

] . , WHERE.

] , , ON -

. , . , , 19- 507 ( , ).

SELECT ._, ._, ._, , ., . , . FROM

JOIN ON . = .

WHERE . = ' 19' AND . = '507'

ORDER BY . , . , .;

, ( ), . :

SELECT _

FROM

WHERE

(SELECT FROM WHERE )

, , .

SELECT FROM

WHERE _ - (SELECT _

FROM

WHERE = ' '); - , . - .

: 1 1 . . 1 , .

1 .

- , : =,<,>,<>. , , 1 - .

: , .

SELECT *

FROM

WHERE =

(SELECT (_) FROM );

- , : IN - ;

ANY - , ;

ALL - , .

: , , 8521:

SELECT * FROM

WHERE _ > ALL

(SELECT _ FROM





:


: 2017-01-28; !; : 781 |


:

:

, .
==> ...

1539 - | 1312 -


© 2015-2024 lektsii.org - -

: 0.088 .