de Microsoft
Daniel Ramos
Introduccin
Daniel Ramos
Daniel Ramos
Daniel Ramos
CREATE nombreObjeto
ALTER nombreObjeto
DROP nombreObjeto
USE
USE northwind
northwind
CREATE
CREATE TABLE
TABLE customer
customer
(cust_id
(cust_id int,
int, company
company varchar(40),
varchar(40),
contact
contact varchar(30),
varchar(30), phone
phone char(12)
char(12) ))
GO
GO
Daniel Ramos
GRANT
DENY
REVOKE
USE
USE northwind
northwind
GRANT
GRANT SELECT
SELECT ON
ON products
products TO
TO public
public
GO
GO
Daniel Ramos
USE
USE northwind
northwind
SELECT
SELECT categoryid,
categoryid, productname,
productname, productid,
productid, unitprice
unitprice
FROM
FROM products
products
GO
GO
Daniel Ramos
Directivas de proceso
por lotes
Comentarios
Identificadores
Tipos de datos
Variables
Daniel Ramos
Operadores
Expresiones
Palabras clave
reservadas
GO
EXEC
Daniel Ramos
Comentarios
Comentarios de lnea
Ejemplo
Ejemplo 11
SELECT
SELECT productname
productname
,, (unitsinstock
(unitsinstock -- unitsonorder)
unitsonorder) --- Calcula
Calcula el
el inventario
inventario
,, supplierID
supplierID
FROM
FROM products
products
GO
GO
Comentarios de bloque
Ejemplo
Ejemplo 22
/*
/*
Este
Este cdigo
cdigo devuelve
devuelve todas
todas las
las filas
filas de
de la
la tabla
tabla
products
products yy muestra
muestra el
el precio
precio por
por unidad,
unidad, el
el precio
precio
aumentado
en
un
10
por
ciento
y
el
nombre
del
aumentado en un 10 por ciento y el nombre del producto.
producto.
*/
*/
USE
USE northwind
northwind
SELECT
SELECT unitprice,
unitprice, (unitprice
(unitprice ** 1.1),
1.1), productname
productname
FROM
FROM products
products
GO
GO
Daniel Ramos
Identificadores
Identificadores estndar
Identificadores delimitados
Daniel Ramos
Vistas
Procedimientos almacenados
Daniel Ramos
Tipos de datos
Nmeros
Variaciones de SQL
Fechas
Texto e imagen
Caracteres
Tablas
Binario
Cursores
Identificadores nicos
(GUID)
Daniel Ramos
Variables
USE
USE northwind
northwind
DECLARE
DECLARE @EmpID
@EmpID varchar(11)
varchar(11)
,@vlName
,@vlName char(20)
char(20)
SET
SET @vlname
@vlname == 'Dodsworth'
'Dodsworth'
SELECT
SELECT @EmpID
@EmpID == employeeid
employeeid
FROM
FROM employees
employees
WHERE
WHERE LastName
LastName == @vlname
@vlname
SELECT
SELECT @EmpID
@EmpID AS
AS EmployeeID
EmployeeID
GO
GO
Daniel Ramos
Funciones de agregado
USE
USE northwind
northwind
SELECT
SELECT AVG
AVG (unitprice)
(unitprice) AS
AS AvgPrice
AvgPrice FROM
FROM products
products
GO
GO
Funciones escalares
USE
USE northwind
northwind
SELECT
SELECT DB_NAME()
DB_NAME() AS
AS 'database
'database
GO
GO
SELECT
SELECT **
FROM
FROM OPENQUERY
OPENQUERY
(OracleSvr,
(OracleSvr, 'SELECT
'SELECT name,
name, id
id FROM
FROM owner.titles')
owner.titles')
Daniel Ramos
'ANSI:',
'ANSI:', CONVERT(varchar(30),
CONVERT(varchar(30), GETDATE(),
GETDATE(), 102)
102) AS
AS
'Japanese:',
'Japanese:', CONVERT(varchar(30),
CONVERT(varchar(30), GETDATE(),
GETDATE(), 111)
111)
'European:',
'European:', CONVERT(varchar(30),
CONVERT(varchar(30), GETDATE(),
GETDATE(), 113)
113)
Resultado
Style
Style
Daniel Ramos
ANSI:
ANSI:
Japanese:
Japanese:
1998.03.19
1998.03.19
1998/03/19
1998/03/19
European:
European:
19
19Mar
Mar1998
199816:34:40:616
16:34:40:616
SQL Server 2005
Operadores
Tipos de operadores
Aritmtico
Comparacin
Concatenacin de cadenas
Lgico
Daniel Ramos
Expresiones
SELECT
SELECT OrderID,
OrderID, ProductID
ProductID
,(UnitPrice
,(UnitPrice ** Quantity)
Quantity) as
as ExtendedAmount
ExtendedAmount
FROM
FROM [Order
[Order Details]
Details]
WHERE
WHERE (UnitPrice
(UnitPrice ** Quantity)
Quantity) >> 10000
10000
GO
GO
Daniel Ramos
Nivel de instruccin
Bloques IF ELSE
Construcciones WHILE
Nivel de fila
CASE expresin
Daniel Ramos
DECLARE
DECLARE @n
@n tinyint
tinyint
SET
SET @n
@n == 55
IF
IF (@n
(@n BETWEEN
BETWEEN 44 and
and 6)
6)
BEGIN
BEGIN
WHILE
WHILE (@n
(@n >> 0)
0)
BEGIN
BEGIN
SELECT
SELECT @n
@n AS
AS 'Number'
'Number'
,CASE
,CASE
WHEN
WHEN (@n
(@n %% 2)
2) == 11
THEN
THEN ODD'
ODD'
ELSE
ELSE EVEN'
EVEN'
END
END AS
AS 'Type'
'Type'
SET
SET @n
@n == @n
@n -- 11
END
END
END
END
ELSE
ELSE
PRINT
PRINT NO
NO ANALYSIS
ANALYSIS
GO
GO
Daniel Ramos