.


:




:

































 

 

 

 


INSERT #Trash(ID,Col1,Col2,Col3)VALUES




(1,'A','A','A'), (2,'A','B','C'), (3,'C','A','B'), (4,'A','A','B'),

(5,'B','B','B'), (6,'A','A','B'), (7,'A','A','A'), (8,'C','A','B'),

(9,'C','A','B'), (10,'A','A','B'), (11,'A',NULL,'B'), (12,'A',NULL,'B')

 

-- DISTINCT

SELECT Col1,Col2,Col3

FROM #Trash

 

-- DISTINCT

SELECT DISTINCT Col1,Col2,Col3

FROM #Trash

 

--

DROP TABLE #Trash

 

( ):

, Employees (.. ID ):


SELECT DISTINCT DepartmentID

FROM Employees

 

DepartmentID
 
 
 


, .. 2 ().

, :


SELECT DISTINCT DepartmentID,PositionID

FROM Employees

 

DepartmentID PositionID
   
   
   
   


4 , .. (DepartmentID, PositionID) .

DDL


, , Employess. DDL, , UPDATE:


--

ALTER TABLE Employees ADD

LastName nvarchar (30), --

FirstName nvarchar (30), --

MiddleName nvarchar (30), --

Salary float, -- -

BonusPercent float --

GO

 

-- ( )

UPDATE Employees

SET

LastName= N '',FirstName= N '',MiddleName= N '',

Salary=5000,BonusPercent= 50

WHERE ID =1000 -- ..

 

UPDATE Employees

SET

LastName= N '',FirstName= N '',MiddleName= N '',

Salary=1500,BonusPercent= 15

WHERE ID =1001 -- ..

 

UPDATE Employees

SET

LastName= N '',FirstName= N '',MiddleName=NULL,

Salary=2500,BonusPercent=NULL

WHERE ID =1002 -- ..

 

UPDATE Employees

SET

LastName= N '',FirstName= N '',MiddleName=NULL,

Salary=2000,BonusPercent= 30

WHERE ID =1003 -- ..

 

, :


SELECT *

FROM Employees

 

ID Name LastName FirstName MiddleName Salary BonusPercent
  ..      
  ..      
  ..   NULL   NULL
  ..   NULL    

 


, , :


SELECT

--

LastName+' '+FirstName+' '+MiddleName AS ,

-- , ..

HireDate AS " ",

-- , ..

Birthday AS [ ],

-- AS

Salary ZP

FROM Employees

 

ZP
2015-04-08 1955-02-19  
2015-04-08 1983-12-03  
NULL 2015-04-08 1976-06-07  
NULL 2015-04-08 1982-04-17  


, . , .

, .. 2- (NULL ), LastName+' '+FirstName+' '+MiddleName NULL.

(, ) MS SQL +.

, NULL (, NULL, NULL) NULL.

.
ORACLE || LastName||' '||FirstName||' '||MiddleName. ORACLE , , NULL '' , ORACLE 2- . ORACLE 12c, , ( , ). , .. NULL- MS SQL, ORACLE.

ORACLE , [].


ISNULL, MS SQL CONCAT. 3 :


SELECT

LastName+' '+FirstName+' '+MiddleName FullName1,

-- 2 NULL '' ( ORACLE)

ISNULL (LastName,'')+' '+ ISNULL (FirstName,'')+' '+ ISNULL (MiddleName,'') FullName2,

CONCAT (LastName,' ',FirstName,' ',MiddleName) FullName3

FROM Employees

 

FullName1 FullName2 FullName3
NULL
NULL


MS SQL :


SELECT

' '=HireDate, -- "" [] ''

[ ]=Birthday,

ZP=Salary

FROM Employees

 

AS , , . , .

, , , '', "" [], , . , '', "" [].

SQL

 

+ (x+y) (+x)
- (x-y) (-x)
* (x*y)
/ (x/y)
% (x%y). 15%10 5


, . , (a+b)*(x/(y-z)).

, NULL NULL, : 10+NULL, NULL*15/3, 100/NULL NULL. .. . NULL ISNULL, COALESCE:


SELECT

ID, Name,

Salary/100*BonusPercent AS Result1, -- NULL

Salary/100* ISNULL (BonusPercent,0) AS Result2, -- ISNULL

Salary/100* COALESCE (BonusPercent,0) AS Result3 -- COALESCE

FROM Employees

 

ID Name Result1 Result2 Result3
  ..      
  ..      
  .. NULL    
  ..      
  .. NULL    
  .. NULL    

 

COALESCE:


COALESCE (expr1, expr2,..., exprn) - NULL .

 

:


SELECT COALESCE (f1, f1*f2, f2*f3) val --

FROM (SELECT null f1, 2 f2, 3 f3) q

 

, DML , . , , , , Google MS SQL , MS SQL MS SQL NULL. , . , MSDN, COALESCE:

MSDN COALESCE CASE

COALESCE CASE. , COALESCE(expression1,...n) CASE:


CASE

WHEN (expression1 IS NOT NULL) THEN expression1

WHEN (expression2 IS NOT NULL) THEN expression2

...

ELSE expressionN

END

 

, (%). , . , , (ID), .. ID, 2:


SELECT ID,Name

FROM Employees

WHERE ID %2=0 -- 2 0

 

ID Name
  ..
  ..
  ..

 

ORDER BY


ORDER BY .


SELECT

LastName,

FirstName,

Salary

FROM Employees

ORDER BY LastName,FirstName -- 2- ,

 

LastName FirstName Salary
 
 
 
 


ORDER BY DESC, :


SELECT LastName,FirstName,Salary

FROM Employees

ORDER BY --

Salary DESC, -- 1.

LastName, -- 2.

FirstName -- 3.

 

LastName FirstName Salary
 
 
 
 

 

. ASC, , ( , - ).

 

, ORDER BY , SELECT ( , DISTINCT, ). TOP , , 3- , :


SELECT TOP 3 -- 3

ID,LastName,FirstName

FROM Employees

ORDER BY Salary DESC --

 

ID LastName FirstName
 
 


, , . , , (.. ), ( ), ID ( , ID , , ):


SELECT TOP 3 -- 3

ID,LastName,FirstName

FROM Employees

ORDER BY

Salary DESC, -- 1.

Birthday, -- 2.

ID DESC -- 3. ID

 

.. , , .. , .

ORDER BY:


SELECT LastName,FirstName

FROM Employees

ORDER BY CONCAT (LastName,' ',FirstName) --

 

ORDER BY :


SELECT CONCAT (LastName,' ',FirstName) fi

FROM Employees

ORDER BY fi --

 

DISTINCT, ORDER BY , SELECT. .. DISTINCT , . , :


SELECT DISTINCT

LastName,FirstName,Salary

FROM Employees

ORDER BY ID -- ID , DISTINCT

 

.. ORDER BY , .

1. ORDER BY , SELECT:


SELECT LastName,FirstName,Salary

FROM Employees

ORDER BY --

3 DESC, -- 1.

1, -- 2.

2 -- 3.

 

, .

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

, , , , (.. ), , .

, .

 

2.
MS SQL NULL .


SELECT BonusPercent FROM Employees ORDER BY BonusPercent

 

DESC






:


: 2016-11-02; !; : 339 |


:

:

, .
==> ...

1677 - | 1597 -


© 2015-2024 lektsii.org - -

: 0.079 .