El documento describe los elementos fundamentales del lenguaje T-SQL de SQL Server. Estos incluyen declaraciones para consultar, modificar y definir datos, así como predicados, operadores, funciones, variables, expresiones y comentarios. También cubre el control de flujo, errores y transacciones.
2. Categorias de las declaraciones T-SQL
• Declaraciones para
consultar y modificar datos
• SELECT, INSERT, UPDATE,
DELETE
• Declaraciones para
definición de Objetos
• CREATE, ALTER, DROP
• Declaraciones de los
permisos de seguridad
• GRANT, REVOKE, DENY
Data Manipulation
Language (DML)
(Lenguaje de
Manipulación de Datos)
Data Definition Language
(DDL)
(Lenguaje de Definición
de Datos)
Data Control Language
(DCL)
(Lenguaje de Control de
Datos)
3. Elementos del lenguaje T-SQL
Predicados y Operadores
Control de Flujo
FuncionesElementos del
lenguaje T-SQL: funciones
Variables Comentarios
Expresiones
Separadores Batch
4. Elementos del lenguaje T-SQL:
predicados y operadores
Elementos: Predicados y Operadores:
Predicados IN, BETWEEN, LIKE
Operadores de Comparación =, >, <, >=, <=, <>, !=, !>, !<
Operadores Lógicos AND, OR, NOT
Operadores Aritméticos +, -, *, /, %
Concatenación +
T-SQL hace cumplir la prioridad de los operadores Regresar
5. Elementos del lenguaje T-SQL: funciones
Funciones String Funciones Fecha y Hora Funciones Agregadas
• SUBSTRING
• LEFT, RIGHT
• LEN
• DATALENGTH
• REPLACE
• REPLICATE
• UPPER, LOWER
• RTRIM, LTRIM
• GETDATE
• SYSTDATETIME
• GETUTCDATE
• DATEADD
• DATEDIFF
• YEAR
• MONTH
• DAY
• SUM
• MIN
• MAX
• AVG
• COUNT
Regresar
6. Elementos del lenguaje T-SQL: variables
• Variables locales en T-SQL, almacenan temporalmente un valor de un tipo de dato especifico
• Los nombre de las variables inician con @
• @@ significa que la variable esta reservada para funciones del sistema
Se le asigna un tipo de datos
• Debe ser declarado y utilizados dentro del mismo lote
• En SQL Server 2008 y versiones posteriores, puede declarar e inicializar en la misma sentencia
DECLARE @MyVar int = 30;
Regresar
7. Elementos de lenguaje T-SQL : expresiones
• La combinación de Identificares, valores y operadores valuados para obtener un resultado.
• Pueden ser usados en declaraciones SELECT
• Cláusula SELECT
• Cláusula WHERE
• Puede ser una constante, una función de un solo valor o una variable
• Pueden ser combinadas, si las expresiones son del mismo tipo
SELECT YEAR(FechaOrden) + 1 ...
SELECT CantOrden * PrecioUnit ...
Regresar
8. Elementos de lenguaje T-SQL : Separadores
de lotes
• Los lotes son conjuntos de comandos enviados a
SQL Server como una unidad
• Lotes determinar el alcance variables, la
resolución de nombres
• Para separar las declaraciones en lotes, use un
separador:
• Las herramientas de SQL Server utilizan la palabra
GO
• GO no es un comando SQL Server T-SQL
Regresar
9. Elementos de lenguaje T-SQL: control del
flujo, los errores y las transacciones
• Le permite controlar el flujo de ejecución del código, manejar los errores y mantener operaciones
• Se utiliza en objetos de código de programación
• Los procedimientos almacenados, triggers, bloques de instrucciones
Control de Flujo Manejo de Error Controles de Transacción
• IF...ELSE • TRY...CATCH
• WHILE
• BREAK
• CONTINUE
• BEGIN...END
• BEGIN TRANSACTION
• COMMIT TRANSACTION
• ROLLBACK TRANSACTION
Regresar
10. Elementos de lenguaje T-SQL : comentarios
• Marcar código T-SQL como un comentario:
• Para un bloque, encerrarlo entre / * y * / caracteres
/*
This is a block
of commented code
*/
• Para comentar una sola línea utilizar –
-- This line of text will be ignored
• Dependiendo del editor de texto, mostrará en color verde los comentarios
11. Lógica de Procesamiento de consultas
• El orden en el que se escribe una consulta no es el orden en el que se
evalúa por SQL Server.
5: SELECT <lista de campos>
1: FROM <Nombre de la tabla>
2: WHERE <condición de busqueda>
3: GROUP BY <lista de agrupamiento>
4: HAVING <condición de busqueda>
6: ORDER BY <lista de campos por la que
se quiere ordenar el resultado>
12. Elementos de la declaración SELECT
Cláusula Expresión
SELECT <lista de Campo>
FROM <Nombre de la tabla>
WHERE <Condición de búsqueda>
GROUP BY <Agrupas por lista de campos>
ORDER BY <ordernar por lista de Campos>
13. Recuperando Columnas de una Tabla o Vista
• Use SELECT con una lista de columnas para mostrar esas columnas
• Use FROM para especificar una tabla o vista como origen de los datos que se van a mostrar
Cláusula Expresión
SELECT <selecciona lista de campos>
FROM <tabla fuente>
SELECT IdClientes, Nombres, Apellidos
FROM Clientes
14. Usando cálculos en la cláusula
SELECT
• Los cálculos son valores escalares, retornando un valor por fila.
Operador Descripción
+ Suma o concatena
- Resta
* Multiplica
/ Divide
% Modulo
S•ELUEsCinTg spcraelacri eox,precsasniotnisd ina dth,e (SpELrEeCcTi colau*secantidad)
FROM detallefactura;
15. Usando operaciones de cálculo en la
declaración SELECT
• Los cálculos son escalares, retornan un valor por fila
Operador Descripción
+ Suma o concatenación
- Resta
* Multiplicación
/ División
% Porcentaje
S•ELUEsCinTg sucnailatrp erxipcrees,sioOnrsd ine rthQet yS,ELE(CuTn ciltaupsreice * OrderQty)
FROM sales.salesorderdetail;
Notas del editor
Appendix A will cover DML beyond SELECT, at an introductory level. If scheduling does not permit covering the appendix as a group, suggest that students review it before attending 10776A.
Appendix B will cover DDL at an introductory level. If scheduling does not permit covering the appendix as a group, suggest that students review it before attending 10776A.
While there are a few modules at the end of the course which cover introductory-level DDL, there is no DCL content in this course. See 10775A for security topics.
This slide is a overview of the next 7 slides. Use it to introduce what’s coming.
Let the student know that many of these language elements will be covered in context in subsequent modules. This is introductory.
These predicates and operators are provided as a simple reference point. Many of them will be used in subsequent modules (such as filtering data). Use this to fill in any gaps in student knowledge, but don’t get too bogged down in details. Knowing where these might be used is more important at this point than knowing the details of each one.
Information on other categories of operators, including bitwise, unary, and scope assignment, can be found in Books Online at http://go.microsoft.com/fwlink/?LinkId=242845
Point out that there are many other functions built into SQL Server (and hence T-SQL). This topic is designed to introduce the concept to support the examples in the course. Some of these functions, such as YEAR, SYSDATETIME() and GETDATE() are used in examples in the course. Use this topic to briefly introduce the idea of built-in functions and how to use BOL to get further reference.
See http://go.microsoft.com/fwlink/?LinkId=233912 Built-in Functions (Transact-SQL) in Books Online.
Point out to students learning T-SQL for the purpose of writing reports that variables are not used in standalone queries, but will be used by database developers for additional purposes:
Parameters in functions, stored procedures
Counter for loops
Point out that system functions (formerly and incorrectly called system variables) can be invoked in SELECT statements just like user variables.
The purpose of this topic is to introduce the idea of inline data manipulation in queries or in predicates.
(This is a partial example for illustration only. This code will not run as is.)
Batch terminator keyword determined by client tool
See GO in Books Online: http://go.microsoft.com/fwlink/?LinkId=248715
Point out that these elements will be further discussed later in the course.
Note that for the purposes of this discussion, TOP, DISTINCT and OVER are omitted.
This is a build slide - be sure to review this slide and its animation before presenting it.