Karpova_bazy_dannyh
.pdf
71
EXECUTE
SQL, 














.
































-













.



SQL/89 















:
CHARACTER(n) 
CHAR(d)
n 


. 
























-







, 
















, 





,
|
|
|
|
. |
NUMERIC[(n,m)] |
, |
n |
, |
|
m |
|
|
|
. |
DECIMAL[(n,m)] |
, |
n |
- |
|
, m |
|
|
|
. |
DEC[(a,m)] |
, |
DECIMAL[(n,m)]. |
|
|
INTEGER |
INT |
. |
|
|
SMALLINT |
|
|
|
. |





, 






SQL1 








, 













INT
SMALLINT (












), 






-
















, 















INTEGER 











, 










, a SMALLINT













, 








. 








|
|
|
|
. |
|
FLOAT[(n)] |
|
|
, |
- |
|
. |
n |
, |
|
. |
- |
|
|
|
|
. |
|
REAL |
|
|
|
, |
- |
|
, |
|
, |
FLOAT. |
|
DOUBLE PRECISION |
|
|
|
- |
|











, 


















REAL.





SQL92 













:
VARCHAR(n) 














.
NCHAR(N) 





















.
72 |
5. |
SQL. |
NCHAR VARYING(n) 





















.
I
(n) 













.
BIT VARYING(n) 













.
DATE 







.
TIMESTAMP(


) 





.
INTERVAL 








.

-




















. 
, 


, 

























. 









MEMO 






. 








-


, 


,
ORACLE 







LONG,
DB2 - LONG VARCHAR,
SYBASE
MS SQL Server
TEXT.







,























. 



















D

TIMESTAMP. 











-











, 

















-

-
































. 







. 



















. 





|
|
|
- |
|
|
|
. |
: |
|
|
|
213.314 |
612.716 |
+ 551.702 |
|
|
|
, |
- |
|
, |
, |
F, - |
: |
|
|
|
29F64 |
134F23667 |
0F54267618 |
|










:
. . , |
- |
. |











, 


MS SQL Server
Informix 





-















:
, |
New York . |










, 























-




,
-


































-





.
|
, |
- |
|
. |
- |
. |
, |
- |
. |
|
- |
|
|
|
|
73 |
|
|
|
|
, |
|
- |
, |
, |
ORACLE. |
MS SQL Server. |
|
|
ar |
15.1999, |
r 15.1999, 3/15/1999, 3.15.99, |
1999 MAR 15 |
|
|
|
ORACLE |
|
|
|
|
15 MAR 99









. 


SQL1 















-


USER, 


















, 







-






.





SQL 













, 









-
(+)
(-), 



(*) 



(/).



(/) 















. 











-




-













. 



SQL2 











-
|
|
|
. |
|
|
|
|
, |
, |
, - |
. , |
, |
DB2 |
- |
|
|
, |
MS SQL Server |
(+), |
|
|
|
|
. |
Mr /Mrs |
|| NAME || |
LAST NAME |
|
|
r /Mrs |
+ NAME + |
LAST NAME |
|
|





SQL1 















, 




- 
-
























, 




SQL2




















.
BIT_LENGTH(

) 











;
ST (


AS 



) 



,




;
CHAR_LENGTH(

) - 








;
CONVERT(

USJNG 


) 


, 











-
|
|
; |
|
|
|
CURRENT_DATE |
|
; |
|
|
|
CURRENT |
IME ( |
) |
|
|
; |
CURRENT_TIMESTAMP( |
) |
|
- |
||
; |
|
|
|
|
|
LOWER( |
) |
, |
|
|
; |
D_L |
NG ( |
) |
|
|
; |
POSITION |
( |
N |
) |
, |
- |
, |
|
|
; |
|
|
74 |
|
5. |
SQL. |
SUBSTRING( |
FROM n FOR |
) |
, |
n- |
|
|
; |
TRANSLATE(

USING 


) 


, 










-
;
TRIM(BOTH 

FROM 

) 


, 











-











;
TRIM(LEADING 

FROM 

) 


,











;
TRIM(TRAILING 

FROM 

) 


, 








-












;
UPPER(

) - 

, 















.






SELECT





(Data Query Language)
SQL 














-
SELECT. 


























-
|
. |
|
, |
. |
|
|
SQL ( |
|
|
) |
|
. |
, |
|
|
|
. |
|
|
|
|
|
|
, , |
|
, |
, |
, |
|
|
|
|
, |
|
|
|
|
. |
SEIECT |
|
|
: |
|
|
|
|
|
|
SELECT [ALL |DISTINCT](< |
>|*) |
|
|
|
||
FROM |
< |
|
> |
|
|
|
[WHERE |
< |
- |
|
>] |
|
|
[GROUP BY |
< |
|
>] |
|
|
|
[HAVING |
< |
- |
>] |
|
|
|
[ORDER BY |
< |
, |
|
>] |
|
|
|
|
ALL |
, |
|
|
- |
, |
|
|
|
.3 |
, |
|
|
|
|
. |
|
|
|
( |
|
|
, |
|
|
- |
|
|
|
|
|
). |
|
DISTINCT |
|
, |
|
|
|
- |
, |
|
|
|
|
|
. |
* ( |
|
) |
, |
|
|
|
|
|
|
. |
|
|
|
FROM |
|
|
|
( |
) |
. |
SELECT |
75 |




WHERE 


























-













, 


















-








.




GROUP BY 














.
HAVING 







-


,


.



ORDER BY 



















,
o 


-




, 



























-

. 


, 




















, 



-




, 




























-









, 











, 




























.













WHERE 
















-


:









{=, <>, >, <, >=, <=}, 














.



Between A and 8 














. 






, 
























, 

. |
- |
Not Between A and , |
, |























, 








.














IN (



) 





, 











. 




-





. 





















NOT IN (



), 









, 

























.














LIKE
NOT LIKE. 


LIKE 










, 

















, 






,






















, 











.



NOT LIKE 












. 









-







:
o








(_) 


















-
;
o





(%) 





















-








;
o |
, |
, |
. |
|
|
IS NULL. |
- |
|
|
. |
- |
|
|
|
, |
|
|
. |
- |













. 






















,























. 

-
76 |
5. |
SQL. |
















:
<




> IS NULL
<




> IS NOT NULL
|
( |
) |
|
|
- |
, |
|
IS NULL |
« |
»(TRUE), |
- |
IS N NULL |
« |
» (FALSE), |
|
IS NULL |
|
« |
», |
IS NOT NULL |
|
« |
- |

».
Null- |
|
- |
. |
, |
- |
, |
|
- |
|
|
|
. |
|
|
|
|
|
|
|
|
A |
B |
Not A |
|
A B |
A B |
TRUE |
TRUE |
FALSE |
|
TRUE |
TRUE |
TRUE |
FALSE |
FALSE |
|
FALSE |
TRUE |
TRUE |
Null |
FALSE |
|
Null |
TRUE |
FALSE |
TRUE |
TRUE |
|
FALSE |
TRUE |
FALSE |
FALSE |
TRUE |
|
FALSE |
FALSE |
FALSE |
Null |
TRUE |
|
FALSE |
Null |
Null |
TRUE |
Null |
|
Null |
TRUE |
Null |
FALSE |
Null |
|
FALSE |
Null |
Null |
Null |
Null |
|
Null |
Null |
|
|
EXIST |
|
N |
EXIST. |
|
- |
|
|
|
, |
|
|
, |
- |
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
, |
|
|
|
|
SELECT. |
|
|
|
|
|
|
SELECT |
|
, |
|
, |
|
|
. |
|
|
|
|
|
. |
|
|
|
|
|
|
(DISTINCT) |
|
- |
|
(ALL, |
|
|
|
). |
|
|
- |
|
|
, |
|
|
|
|
, |
* ( |
) |
|
|
. |
, |
|
- |
, |
|
|
|
|
|
, |
- |
|
|
. |
, |
, |
, |
|
|
|
|
|
|
, |
|
|
- |
|
|
|
|
|
|
. |
|
FROM |
, |
SELECT, |
|
|
|
|
|
|
, |
|
|
|
|
|
, |
SELECT |
77 |




















. 





















, 









, 











-










.












, 


























(
















-



).














SELECT 










.









SELECT 































. 


, 



SELECT *
FROM Rl, R2




















R1
R2.
SELECT Rl A R2 
FROM Rl R2



R1 





R2, 

















, 
-

























, 







-

























.
WHERE - 





, 
















, 


- 









, 














, 










, 






















.
|
|
|
, |
|
|
|
|
- |
|
. |
, |
|
|
|
R1, R2, R3. |
, |
|
|
|
|
|
Rl,R2 |
R3 |
. |
|
|
R1= ( |
, |
, |
|
), R2= ( |
, |
), |
|
|
R3= ( |
, |
|
). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. . |
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
. . |
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
. . |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
. . |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
. . |
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
. . |
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
. . |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
. . |
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
SELECT |
79 |




:
4906
4807












, 















«


-

»
«


». SELECT 
FROM R1
WHERE 



= "



" AND 

= 5




:




.
.




.
.














, 



























, 


















. SELECT 
. 




FR0M R2, R3
WHERE R2.

= R2.







WHERE 















R2
R3, 



-















WHERE 














-















, 


































R3, 

, 







-






.




:




.
.





.
.





.
.






.
.





.
.






.
.




.
.





.
.





.
.






.
.
80 |
5. |
SQL. |





.
.






.
.




.
.





. A.





.
.






.
.





.
.






.
.





.
.





.
.




.
.





.
.





.
.




.
.
|
, |
|
: |
SELECT DISTINCT R1 |
|
|
|
FROM Rl a |
Rl b |
|
|
WHERE |
= b |
AND |
|
|
<>b |
|
AND |
b |
<= 2 AND b |
<= 2 |
|

















R, a
b, 











.




:






.
.












, 














(


















) 



















(














, 















, |
). |
, |
SQL |
- |
|
|
|
, |
, |



, 












, 












. 





SQL 















































, 






















.







.
.




.
.




.
.



.
.



.
.




.
.




.
.




.
.





.
.




.
.




.
.



.
.























SELECT.










(





), 










: SELECT DISTINCT 

