Rajib Bahar E2d Services/iCSQL
Rajib Bahar E2d Services/iCSQL
e2D Services/iCSQL
TSQL?
Demos
Questions
Reference
Select/Insert/Update/Delete
Creating DB, Stored Proc, Functions
Top, Distinct, Group by
Subqueries – IN, EXISTS
Apply Operator – CROSS, OUTER
Common Table Expression – CTE
Pivoting Data – PIVOT/ UNPIVOT
Ranking Functions – ROW_NUMBER, RANK,
DENSE_RANK, NTILE
Exception Handling
SELECT - to read data
Insert – to add more data into the database
Update - to change existing record inside the database
Delete – to remove existing data from the database
CRUD
TSQL Cheatsheet
Demo DB
Demo Proc – Cons/Pros
Demo Functions – Cons/Pros
Top – is used to specify how many of the first N results we
want to get
Select top 10 * from [AdventureWorks2008].[dbo].[Address]
update Address2
set [street] = [street] + '...'
where [zip] like ‘%9%’
create FUNCTION [dbo].[GetValues]
(
@zip varchar(5)
)
RETURNS TABLE
AS
RETURN
(
SELECT *
FROM [dbo].[Address2]
where [zip] = @zip
)
SELECT sv.[street] ,sv.[city] ,sv.[zip], fsv.*
FROM [AdventureWorks2008].[dbo].[Address2] sv
CROSS APPLY dbo.GetValues(sv.name) AS fsv
select
ROW_NUMBER() OVER (ORDER BY g.grade desc) as
RowNum, s.[Name], g.[grade],
RANK() OVER (order by g.grade desc) as 'Ranks'
from TestDb.dbo.Grade g inner join students s
on g.studentid = s.id
Dense_Rank() - resolve the gap issues from previous query
select
ROW_NUMBER() OVER (ORDER BY g.grade desc) as
RowNum, s.[Name], g.[grade],
DENSE_RANK() OVER (order by g.grade desc) as 'Ranks'
from TestDb.dbo.Grade g inner join students s
on g.studentid = s.id
NTILE() – batch output into groups