Documentos de Académico
Documentos de Profesional
Documentos de Cultura
A. TÍTULO DE LA EXPERIENCIA
Fundamentos del Lenguaje T-SQL
B. TEMAS:
• Tema #3. Fundamentos del Lenguaje SQL
C. OBJETIVO(S):
• Introducir al estudiante en los Fundamentos del Lenguaje T-SQL
D. RECURSOS:
• Microsoft Transact SQL (T-SQL)
• Computadora
• Proyector Multimedia
• Diapositivas en Power Point
• Material utilizado por el profesor
E. RÚBRICAS:
Criterio Ponderación (100%)
Calidad en la presentación del laboratorio 20%
Calidad del contenido del Laboratorio 60%
Puntualidad en la entrega de la tarea 20%
Ponderación
Criterio Indicadores a evaluar en el criterio (100%)
Los estudiantes practicarán diferentes códigos en el entorno del T-SQL probando el comportamiento de
cada uno de los elementos planteados, realizarán capturas de pantalla y explicarán la salida resultante de
la ejecución de cada caso propuesto. Al finalizar los estudiantes entregarán un informe completo cumpliendo
con la calidad que se exige al nivel de universidad (Hoja de presentación, desarrollo del laboratorio,
conclusiones).
CONTENIDO DEL LABORATORIO PROPUESTO
---------------------------------------------------------------------------------------------------------------------
1. Comportamiento en la colocación de comentarios en Código SQL
---------------------------------------------------------------------------------------------------------------------
Caso #1
--Explique que hace esta línea de código
Caso #2
/*
Explique que hace esta línea de código
Para explicar el código SQL
*/
---------------------------------------------------------------------------------------------------------------------
2. Uso de variables Locales
Ejecute el siguiente código SQL y explique su comportamiento.
---------------------------------------------------------------------------------------------------------------------
Caso #3
DECLARE
@numero int,
@copiar int,
@suma int
SELECT @numero = 10
SELECT @copiar = @numero, @suma = @numero + 100
SELECT @copiar AS [Variable Copiar]
SELECT @suma AS [Variable SUMA]
Go
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2
Caso #4
SELECT * FROM TB_CLIENTE
Caso #5
SELECT * FROM TB_CLIENTE
DECLARE @NombreCliente VarCHAR(40)
DECLARE @ApellidoCliente VarCHAR(40)
UPDATE TB_CLIENTE
SET Nombre_Cliente='Alberto',
PrimerApellido_Cliente = 'Chavez',
@NombreCliente=Nombre_Cliente,
@ApellidoCliente=PrimerApellido_Cliente
WHERE Codigo_Cliente='00001'
Caso #6
SELECT @Codigo_Cliente=Codigo_Cliente
FROM TB_Cliente
WHERE Nombre_Cliente = 'Juan' and PrimerApellido_Cliente = 'Delgado'
DECLARE @Codigo_Cliente CHAR(11)
SELECT @Codigo_Cliente
GO
Caso #7
SELECT @Codigo_Cliente=Codigo_Cliente
FROM TB_Cliente
WHERE Nombre_Cliente = 'Juan' and PrimerApellido_Cliente = 'Delgado'
DECLARE @Codigo_Cliente CHAR(11)
SELECT @Codigo_Cliente
GO
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2
Caso #8
DECLARE @nombre_cliente float
SELECT @nombre_cliente=Nombre_Cliente
FROM TB_Cliente
WHERE Nombre_Cliente = 'Alberto' and PrimerApellido_Cliente = 'Chavez'
SELECT @nombre_cliente
GO
Caso #9
SELECT * FROM tb_cliente
DECLARE @valor SMALLMONEY
Caso #10
DECLARE @cliente VARCHAR(5)
-- le asignamos a la variable un valor de la tabla.
SELECT @cliente = codigo_cliente
FROM TB_Cliente
WHERE Email_Cliente = 'claudiasoto@hotmail.com'
---------------------------------------------------------------------------------------------------------------------
3. Uso de variables GLOBALES
Ejecute el siguiente código SQL y explique su comportamiento.
---------------------------------------------------------------------------------------------------------------------
Caso #11
SELECT * FROM TB_PAGO_FACTURA_COMPRA
WHERE Fecha_Pago = '06/03/2012'
Caso #12
DELETE FROM TB_Cliente
SELECT @@error [Numero del Error]
---------------------------------------------------------------------------------------------------------------------
4. Precedencia Operadores: Prioridades
Ejecute el siguiente código SQL y explique su comportamiento.
---------------------------------------------------------------------------------------------------------------------
Caso #13
DECLARE @Numero int;
SET @Numero = 4 - 2 + 27;
-- Evalúa a 2 + 27 el cual produce el resultado de 29.
SELECT @Numero [Valor de Salida];
Go
Caso #14
DECLARE @Numero int;
SET @Numero = 2 * 4 + 5;
-- Evaluar 8 + 5 debe producir como resultado 13.
SELECT @Numero [Valor de Salida];
Go
Caso #15
DECLARE @Numero int;
SET @Numero = 2 * (4 + 5);
-- Evaluar a 2 * 9 debe producir como resultado 18.
SELECT @Numero [Valor de Salida];
Go
Caso #16
DECLARE @Numero int;
SET @Numero = 2 * (4 + (5 - 3) );
-- Evaluar 2 * (4 + 2) el cual evalúa a 2 * 6, y produce como resultado 12.
SELECT @Numero [Valor de Salida];
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2
---------------------------------------------------------------------------------------------------------------------
5. Funciones para el Manejo de Cadenas
Ejecute el siguiente código SQL y explique su comportamiento.
---------------------------------------------------------------------------------------------------------------------
Caso #17
-- FUNCION CONCAT
DECLARE @Cadena CHAR(100)
SET @Cadena=CONCAT( 'Feliz ', 'Cumpleaños ', 'hoy ', 15, '/', '09' );
SELECT @Cadena AS [Cadena de Salida]
GO
Caso #18
SELECT CONCAT(Nombre_Cliente, PrimerApellido_Cliente, SegundoApellido_Cliente)
AS [Nombre del Cliente]
FROM TB_CLIENTE
GO
Caso #19
SELECT CONCAT(Nombre_Cliente, +' '+ PrimerApellido_Cliente,
+' '+ SegundoApellido_Cliente) AS [Nombre del Cliente]
FROM TB_CLIENTE
GO
Caso #20
--FUNCION LEN
DECLARE @Cadena CHAR(50)
SET @Cadena = 'Esta es la longitud de la cadena'
SELECT LEN(@Cadena) [Tamaño de la Cadena]
Caso #21
SELECT LEN(Nombre_Cliente) AS [Longitud del Nombre],
Nombre_Cliente, PrimerApellido_Cliente
FROM TB_Cliente
WHERE Direccion_Cliente = 'Chitre';
GO
Caso #22
--FUNCION LOWER (Transact-SQL)
SELECT LOWER(Nombre_Cliente) AS [Nombre Minúscula],
PrimerApellido_Cliente
FROM TB_Cliente
GO
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2
Caso #23
--FUNCION UPPER (Transact-SQL)
SELECT UPPER(Nombre_Cliente) AS [Nombre Mayúscula],
PrimerApellido_Cliente FROM TB_Cliente
GO
Caso #24
--FUNCION SUBSTRING (Transact-SQL)
SELECT SUBSTRING(Nombre_Cliente,4,8) AS [Primer Caracter del Nombre],
Nombre_Cliente, PrimerApellido_Cliente FROM TB_Cliente
GO
Caso #25
SELECT UPPER(SUBSTRING(Nombre_Cliente,3,2))
AS [Primer Caracter del Nombre en Mayúscula],
Nombre_Cliente, PrimerApellido_Cliente
FROM TB_Cliente
GO
Caso #26
--LTRIM (Transact-SQL)
DECLARE @Cadena CHAR(100)
SET @Cadena=' Esta es una Línea con caracteres para contar'
SELECT @CADENA [Cadena Original ], LEN(@Cadena) [Longitud Original], LTRIM(@CADENA)
[Cadena de Salida], LEN(LTRIM(@CADENA)) [Longitud Real]
GO
Caso #27
DECLARE @Cadena CHAR(100)
SELECT @Cadena=' Esta es una Línea con caracteres para contar'
SELECT LEN(@Cadena), @CADENA, LTRIM(@Cadena), LEN(LTRIM(@Cadena))
GO
Caso #28
--RTRIM
DECLARE @Cadena1 varchar(100)
SET @Cadena1 ='Esta es una Línea con caracteres para contar. '
SELECT @Cadena1 + ' Adicional con nuevos caracteres'
SELECT RTRIM(@Cadena1) + ' Adicional con nuevos caracteres'
GO
Caso #29
--LEFT
SELECT LEFT('00001-Computadoras DEll Inspiron',5);
GO
Caso #30
SELECT CONCAT(Codigo_Cliente, '-', UPPER(LEFT(Nombre_Cliente,3))) AS [Codigo Interno],
Nombre_Cliente, PrimerApellido_Cliente
FROM TB_Cliente
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2
GO
Caso #31
SELECT RIGHT('Computadoras DEll Inspiron-00001',5);
GO
Caso #32
SELECT CONCAT(UPPER(RIGHT(Nombre_Cliente,3)), '-', Codigo_Cliente) AS [Codigo Interno],
Nombre_Cliente, PrimerApellido_Cliente
FROM TB_Cliente
GO
Caso #33
--STUFF
DECLARE @Cadena char(5)
SET @Cadena = '00001'
SELECT STUFF('Juan Peralta--', 14, 5, @Cadena);
GO
Caso #34
DECLARE @Cadena char(5)
SET @Cadena='00001'
SELECT STUFF('Juan Peralta--', 14, 5, @Cadena);
GO
Caso #35
DECLARE @Identificador CHAR(20)
DECLARE @Clave CHAR(5)
SET @Identificador='01-02-999-0205'
SELECT @Identificador
SET @Clave=SUBSTRING(@Identificador,7,5)
SELECT @Clave
SELECT STUFF(Codigo_Cliente,1,3,@Clave) AS [Campo Unico],
Nombre_Cliente, PrimerApellido_Cliente
FROM TB_Cliente
GO
Caso #36
--Función STR
SELECT STR(123.45, 4, 1);
GO
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2
Caso #37
--Función CAST
DECLARE @Valor Decimal (20, 15);
SET @Valor = 453.989845686543278;
SELECT @Valor [Valor en Decimal];
SELECT CONCAT(CAST(@Valor as varchar(20)), ' + Valor en Cadena') [Valor en Cadena];
GO
Caso #38
--Función CONVERT
DECLARE @Valor Decimal (20, 15);
SET @Valor = 4567.989845686543278;
SELECT @Valor [Valor en Decimal];
SELECT CONCAT(CONVERT(varchar(20), @Valor), ' + Valor en Cadena') [Valor en Cadena];
GO
Caso #39
DECLARE @Valor Decimal (5, 2);
SELECT CONCAT(Nombre_Cliente, ' - ', PrimerApellido_Cliente) [Nombre del Cliente],
CONCAT(CONVERT(varchar(10), Saldo_Cliente),' + 04-456-890') [Saldo + Nº Cuenta Ahorro]
FROM TB_CLIENTE
---------------------------------------------------------------------------------------------------------------------
6. Funciones para el Manejo de Cadenas
Ejecute el siguiente código SQL y explique su comportamiento.
---------------------------------------------------------------------------------------------------------------------
Caso #40
--Función POWER
DECLARE @Valor1 float;
DECLARE @Valor2 float;
SET @Valor1= 2;
SET @Valor2 = 2.5;
SELECT POWER(@Valor1, 3) AS Resultado1, POWER(@Valor2, 3) AS Resultado2;
-- Función ROUND
SELECT ROUND(123.9994, 3), ROUND(123.9995, 3);
GO
Caso #41
DECLARE @Valor float;
SET @Valor = 25.00;
SELECT SQRT(@Valor) [Raíz Cuadrada];
--Función PI
SELECT PI();
GO
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2
Caso #42
-- Función SQUARE
DECLARE @Altura float, @Radio float;
SET @Altura = 5;
SET @Radio = 1;
SELECT PI()* SQUARE(@Radio)* @Altura AS [Volumen del Cilindro];
GO
Caso #43
--Función SIGN
DECLARE @Valor1 real
DECLARE @Valor2 real
DECLARE @Valor3 real
SET @Valor1 = -1
SET @Valor2 = 0
SET @Valor3 = +1
SELECT SIGN(@Valor1) AS[Valor Negativo]
SELECT SIGN(@Valor2) AS[Valor Cero]
SELECT SIGN(@Valor3) AS[Valor Positivo]
Caso #44
--Función ABS
SELECT ABS(-1.0), ABS(0.0), ABS(1.0);
Caso #45
--Función EXP
DECLARE @Valor float
SET @Valor = 10
SELECT 'El valor exponencial de la Variable es: ' + CONVERT(varchar,EXP(@Valor))
GO
---------------------------------------------------------------------------------------------------------------------
7. Funciones para el Manejo del Tipo de Datos Fecha y Hora
Ejecute el siguiente código SQL y explique su comportamiento.
---------------------------------------------------------------------------------------------------------------------
Caso #46
-- Función GETDATE
SELECT GETDATE()[Fecha y Hora del Sistema]
Caso #47
-- Función DAY
SELECT DAY('2014/09/19');
SELECT DAY('19/09/2014');
SELECT DAY(GETDATE())
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2
Caso #48
-- Función MONTH
SELECT MONTH('2014/09/19');
SELECT MONTH('19/09/2014');
SELECT MONTH(GETDATE())
Caso #49
--Función YEAR
SELECT YEAR('2014/09/19');
SELECT YEAR('19/09/2014');
SELECT YEAR(GETDATE())
Caso #50
--Función DATEADD
Caso #51
--Función DATEPART
SELECT DATEPART(Year, '19/09/2014') [AÑO]
,DATEPART(Month, '19/09/2014') [Mes]
,DATEPART(Day, '19/09/2014') [Día]
Caso #52
-- Función ISDATE
SELECT ISDATE('2014-09-19') [Fecha Válida = 1 / Fecha Inválida = 0 ]
SELECT ISDATE('2014/09/19') [Fecha Válida = 1 / Fecha Inválida = 0 ]
SELECT ISDATE('19/09/2014') [Fecha Válida = 1 / Fecha Inválida= 0 ]
SELECT ISDATE('201409/19') [Fecha Válida = 1 / Fecha Inválida= 0 ]
SELECT ISDATE('2014/0919') [Fecha Válida = 1 / Fecha Inválida = 0 ]
GO
Caso #53
--Función DATENAME
SELECT DATENAME(year, '19/09/2014') [AÑO]
,DATENAME(month, '19/09/2014') [Mes]
,DATENAME(weekday, '19/09/2014') [Día]
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2
G. RESULTADOS:
• Conocimiento de elementos básicos del lenguaje SQL tales como manejo de operadores y
prioridades, funciones de cadenas, funciones de fecha y hora.
H. CONSIDERACIONES FINALES:
Opinión del estudiante sobre el logro del objetivo y el desarrollo de la experiencia.