Querying Microsoft SQL Server 2014

Módulo 2: Introducción a T-SQL Consulta Contenido: Lección 1: Lección 2: Lección 3: Lección 4: Laboratorio: Módulo de I

Views 556 Downloads 2 File size 389KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Módulo 2: Introducción a T-SQL Consulta Contenido: Lección 1: Lección 2: Lección 3: Lección 4: Laboratorio:

Módulo de Información general Presentación de T-SQL Entender Juegos La comprensión de la lógica de predicados Comprender el orden lógico de las operaciones en sentencias SE Introducción a T-SQL Consulta Revisión del módulo y comida para llevar

Módulo de Información general Transact-SQL, o T-SQL, es el idioma en el que escribirá consultas de Microsoft SQL Server 2014. En este módulo, usted aprenderá que los elementos hasMany T-SQL en común con otros lenguajes de programación, tales como comandos, variables, funciones y operadores. Usted también aprenderá que T-SQLcontains algunos elementos únicos que pueden requerir un ajuste si su fondo incluye experiencia con lenguas de procedimiento. Para hacer themost de su esfuerzo en escribir consultas T-SQL, usted también aprenderá el proceso por el que SQL Server evalúa sus consultas. Comprender el logicalorder de las operaciones de los comandos SELECT será vital para aprender a escribir consultas eficaces.

Objetivos Después de completar este módulo, el alumno será capaz de describir: • Los elementos de T-SQL y su papel en escribir consultas. • El uso de juegos en SQL Server. • El uso de la lógica de predicados en SQL Server. • El orden lógico de las operaciones en las sentencias SELECT.

Lección 1: Introducción a T-SQL En esta lección, aprenderá el papel de T-SQL por escrito instrucciones SELECT. Usted aprenderá acerca de muchos de los elementos y whichones lenguaje T-SQL será útil para escribir consultas.

Objetivos de la lección Después de completar esta lección, el alumno será capaz de: • Describir la implementación de Microsoft del lenguaje SQL estándar. • Clasificar sentencias SQL en sus dialectos.

• Identificar los elementos de T-SQL, incluyendo predicados, operadores, expresione

Acerca de T-SQL T-SQL es la implementación de Microsoft del estándar de la industria Structured Query Language. Originalmente desarrollado para apoyar el nuevo modelo de datos relacional en International Business Machines (IBM) a principios de 1970, SQL ha sido ampliamente adoptado en la industria. SQL se convirtió en un estándar del Instituto Nacional theAmerican Normas (ANSI) y la Organización Internacional de Normalización (ISO) en la década de 1980.

El estándar ANSI ha pasado por varias revisiones, incluyendo SQL-89 y SQL-92, cuyas especificaciones son total o parcialmente apoyado elT-SQL. SQL Server 2014 también implementa características de normas posteriores, como ANSI SQL-2008. Microsoft, como muchos vendedores, tiene también extendedthe lenguaje para incluir características y funciones específicas del servidor SQL. Además de la implementación de Microsoft como T-SQL en SQL Server, Oracle tiene PL / SQL, IBM cuenta con SQL PL, y Sybase mantiene su propia operación de T-SQL. Un concepto importante de entender cuando se trabaja con T-SQL es que es un lenguaje basado en conjuntos y declarativa, no un procedimiento. Cuando youwrite una consulta para recuperar datos de SQL Server, usted describe los datos que desea mostrar, no se lo digas SQL Server exactamente cómo recuperar it.Instead de proporcionar una lista de procedimiento de los pasos a seguir, usted proporciona los atributos de los datos tu buscas. Por ejemplo, si desea recuperar una lista de clientes que se encuentran en Portland, un método de procedimiento podría tener este aspecto:

Método Procesal Abrir un cursor para consumir filas, uno a la vez. Obtener el primer registro del cursor. Examine primera fila. Si la ciudad es Portland, devuelva la fila. Mover a la siguiente fila. Si la ciudad es Portland, devuelva la fila. Fetch el siguiente registro. (Repita hasta que se alcance final de la tabla). Su código de procedimiento no sólo debe contener la lógica para seleccionar los datos que se ajuste a sus necesidades, pero también se debe determinar y ejecutar una trayectoria de buen rendimiento a través de él. Nota: Este curso menciona cursores para fines comparativos, pero no proporciona formación sobre la escritura de código con ellos. Ir a los libros en pantalla (BOL) para las definiciones y las preocupaciones con respecto al uso de los cursores: Cursores http://go.microsoft.com/fwlink/?LinkID=402710 Con un lenguaje declarativo como T-SQL, se le proporcionará los atributos y valores que describen el conjunto que desea recuperar. Por ejemplo, consulte el siguiente pseudo-código: Declarativa Idioma Mostrar todos los clientes cuyos ciudad es Portland. Con T-SQL, el motor de base de datos del servidor SQL 2014 determinará la ruta óptima para acceder a los datos y devolver un conjunto a juego. Su papel es tolearn escribir código T-SQL eficiente y

precisa para que pueda describir adecuadamente el conjunto que desea recuperar. Si usted tiene experiencia en otros entornos de programación, la adopción de un nuevo modo de pensar puede presentar un desafío. Este curso ha sido destinadaa ayuda a salvar la brecha entre el procedimiento y en base configuración declarativa de T-SQL. Nota: Los conjuntos se discutirán más adelante en este módulo.

Categorías de instrucciones T-SQL Instrucciones T-SQL se pueden organizar en varias categorías:

Data Manipulation Language, o DML, es el conjunto de instrucciones T-SQL que se centra en la c

• modificación de datos. Esto incluye SELECT, enfoque theprimary de este curso, así como las declara

de modificación como INSERT, UPDATE y DELETE. Usted aprenderá acerca de SELECT statementsthr

Data Definition Language, o DDL, es el conjunto de instrucciones T-SQL que maneja el ciclo de de

• los objetos de base de datos, como tablas, vistas y procedimientos. Esto incluye declaraciones como CREATE, ALTER y DROP.

Lenguaje de control de datos, o DCL, es el conjunto de instrucciones T-SQL que se utilizan para a • los permisos de seguridad para los usuarios y objetos. Includesstatements DCL como GRANT, REVOK

Nota: Los comandos DCL están más allá del alcance de este curso. Para obtener más información acerca de SQL Server 2014 de seguridad, incluyendo 20462C DCL, seeMicrosoft Curso Oficial: La administración de una base de datos Microsoft SQL Server. Información adicional sobre DML, DDL, y los comandos DCL se puede encontrar en los libros en línea en: Transact-SQL (Motor de base de datos) http://go.microsoft.com/fwlink/?LinkID=402711

T-SQL Elementos del lenguaje Como muchos lenguajes de programación, T-SQL contiene elementos que va a utilizar en las consultas. Que va a utilizar predicados para filtrar filas, comparaciones operadores toperform, funciones y expresiones para manipular datos o recuperar la información del sistema, y comentarios para documentar el código. Ifyou tiene que ir

más allá de escribir sentencias SELECT para crear procedimientos almacenados, disparadores y otros objetos, se pueden utilizar elementos tales declaraciones ascontrol-de-flujo, las variables para almacenar temporalmente los valores, y separadores de lotes. Los siguientes temas en esta lección se presentarles tomany de estos elementos.

Nota: El propósito de esta lección es introducir muchos elementos del lenguaje T-SQL, que se presenta aquí en un alto conceptuallevel. Módulos posteriores en este curso proporcionará explicaciones más detalladas.

T-SQL Elementos Idioma: predicados y operadores El lenguaje T-SQL proporciona elementos para especificar y evaluar expresiones lógicas. En declaraciones SELECT, puede utilizar expresiones lógicas filtros todefine para WHERE y HAVING cláusulas.

Va a escribir estas expresiones utilizando predicados y operadores. Los predicados con el apoyo de T-SQL se incluyen las siguientes:

• IN, usado para determinar si un valor coincide con cualquier valor en una lista o su • ENTRE, usada para especificar un rango de valores. • LIKE, utilizado para que coincida con caracteres en contra de un patrón. Los operadores incluyen varias categorías comunes:

Comparación de las pruebas de igualdad y desigualdad:!!!!!!. =, ,> =,

(Tenga en cuenta que>, =, , 1 ORDER BY empid, orderyear;

Antes de examinar el orden de tiempo de ejecución de las operaciones, vamos a examinar brevemente lo que hace la consulta, aunque los detalles sobre muchas cláusulas deberán WaitUntil el módulo correspondiente. La primera línea se asegura de que estamos conectados a la base de datos correcta para la consulta. Esta línea no ha sido sometido para la orden a tiempo itsrun. Si es necesario, tenemos que esta se complete antes de ejecuta la principal consulta SELECT: Cambiar conexión USO TSQL; - Contexto de conexión a base de datos de cambio de la muestra. La siguiente línea es el comienzo de la instrucción SELECT como lo escribimos, pero como veremos, no va a ser la primera línea evaluado. La cláusula SELECT devuelve la columna empid y extrae sólo el año a partir de la columna OrderDate: Inicio de SELECT Empid SELECT, AÑO (FechaPedido) AS orderyear La cláusula FROM identifica qué tabla es la fuente de las filas de la consulta: Cláusula FROM DESDE Sales.Orders La cláusula WHERE filtra las filas de la tabla Sales.Orders, manteniendo sólo aquellos que satisfacen el predicado: Dónde cláusula DONDE custid = 71 El GRUPO POR cláusula grupos juntos las filas restantes por empid, y luego por el año de la orden: Cláusula GROUP BY

GROUP BY empid, AÑO (FechaPedido) Después se establecen los grupos, la cláusula HAVING las filtra en función de su predicado. Sólo los empleados con más de una venta por ina cliente determinado año pasarán este filtro: Cláusula HAVING TENER COUNT (*)> 1 La cláusula final, a los efectos de la vista previa de esta consulta, es el ORDER BY, que ordena la salida por empid y luego por año: Cláusula ORDER BY ORDER BY empid, orderyear; Ahora que hemos establecido lo que cada cláusula no, vamos a ver el orden en que SQL Server debe evaluarlos: 1 .

La cláusula FROM se evalúa primero, ofrecer las filas de origen para el resto de la d virtual se crea y se pasa al siguiente paso.

2 La cláusula WHERE se encuentra junto a evaluar, filtrar las filas de la tabla de orige .

GROUP BY está al lado, la organización de las filas de la tabla virtual de acuerdo a l

grupos, y se pasa al siguiente paso. 3 Nota: A partir de este punto en el flujo de operaciones, sólo las columnas de la list . en la lista SELECT. 4 La cláusula HAVING se evalúa siguiente, el filtrado de grupos enteros en base a su .

5 La cláusula SELECT finalmente ejecuta, determinar qué columnas aparecerán en lo Nota: Debido a la cláusula SELECT se evalúa después de los otros pasos, los alias d . En nuestro ejemplo, la cláusula ORDER BY es la última para ejecutar, ordenar las filas según lo determinado en su lista de columnas. Para aplicar esto a nuestra consulta de ejemplo, aquí es el orden lógico en tiempo de ejecución, con la declaración USO omitido para mayor claridad:

Orden logico 5. empid SELECT, AÑO (FechaPedido) AS orderyear 1. DE Sales.Orders 2. DONDE custid = 71 3. GRUPO POR empid, AÑO (FechaPedido) 4. CUENTA QUE TIENE (*)> 1 6. ORDER BY empid, orderyear; Como hemos visto, no escribimos consultas T-SQL en el mismo orden en el que se evalúan lógicamente. Desde la orden de ejecución de evaluationdetermines lo que se dispone de datos a las cláusulas posteriores el uno del otro, es importante entender el verdadero orden lógico al escribir sus queries.

Aplicando el orden lógico de las operaciones a los Estados Escritura SELECT Ahora que ha aprendido el orden lógico de las operaciones cuando se evalúa y procesa una consulta SELECT, tenga en cuenta lo siguiente considerationswhen escribir una consulta. Tenga en cuenta que algunos de estos pueden referirse a los detalles que usted aprenderá en los módulos siguientes:

•Decidir qué tablas de consulta en primer lugar, así como los alias de tabla va a aplic

•Decida qué establecer o subconjunto de filas se recupera de la tabla (s) en la cláusu

•Si tiene intención de agrupar filas, decidir qué columnas se agrupan sucesivamente

•Si tiene que filtrar los grupos, decidir sobre su predicado y construir una cláusula HA

Si no está utilizando GROUP BY, determinar qué columnas de la tabla (s) fuente que • seleccione una de las columnas del GRUPO BYclause, y añadir cualquier agregados a

•Por último, recuerde que los conjuntos no incluyen ningún pedido. Como resultado, u

Demostración: Procesamiento de Consultas Lógico En esta demostración, verá cómo: • Ver resultado de la consulta que ilustre orden de procesamiento lógico.

Pasos de demostración Ver salida de consultas que ilustre Orden de procesamiento lógico

Asegúrese de que ha completado la demostración previa en este módulo. Altern

20461C-MIA-DC y, ingrese a 20461C-MIA-SQL como AdventureWorks \ Estudiante 1.

Mod02 \ Setup.cmd como administrador.

Si SQL Server Management Studio no está abierto, iniciarlo y conectarlo a la MIA 2.

WindowsAuthentication, y abra la Demo.ssmssln solución en la carpeta D: \ De

3.

En la Vista de menú, haga clic en el Explorador de soluciones. A continuación

4.

Siga las instrucciones contenidas en los comentarios del archivo de comandos.

Laboratorio: Introducción a T-SQL Consulta Escenario Usted es un analista de negocios para la aventura de Trabajo, que se escribía informes en contra de las bases de datos corporativos almacenados en SQL Server 2014. Para usted tobecome más cómodo con consultas SQL Server, el Adventure Works departamento de TI le ha proporcionado una selección de plazo queriesto común en contra de su bases de datos. Va a revisar y ejecutar estas consultas.

Objetivos Después de completar esta práctica de laboratorio, usted será capaz de: • Ejecutar sentencias SELECT básicos.

• Ejecutar consultas que los datos de filtro. • Ejecutar consultas ese tipo de datos. Tiempo estimado: 30 minutos Máquina virtual: 20461C-MIA-SQL Nombre de usuario: AdventureWorks \ Estudiante Contraseña: Pa $$ w0rd

Ejercicio 1: Ejecutar sentencias básico SELECT Escenario El script T-SQL proporcionada por el departamento de TI incluye una sentencia SELECT que recupera todas las filas de la tabla hr.employees, que includesthe nombre, apellido, ciudad y columnas país. Va a ejecutar el script T-SQL contra la base de datos de T-SQL. Las principales tareas de este ejercicio son los siguientes: 1.

Preparar el entorno de laboratorio

2.

Ejecutar el T-SQL Script

3. Ejecutar una parte de la T-SQL Script Tarea 1: Preparar el entorno de laboratorio 1.

Asegúrese de que el 20461C-MIA-DC y

Máquinas virtuales 20461C-MIA-SQL se ejecutan tanto, y luego ingrese a 20461C-MIA-SQL como AdventureWorks \ Estudiante con la contraseña Pa $$ w0rd. Ejecutar Setup.cmd en el D: \ Labfiles \ Lab02 \ carpeta de inicio como administrador. Tarea 2: Ejecutar el T-SQL Script a.

Usando SSMS, conectarse a MIA-SQL mediante la autenticación de Windows.

b.

Abra el archivo de proyecto D: \ Labfiles \ Lab02 \ arranque \ Project \ Project.ssm

c.

Abra la secuencia de comandos T-SQL 51 - 1.sql Ejercicio práctico.

Ejecutar la secuencia de comandos haciendo clic en Ejecutar en la barra de her d.

todo el guión.

e.

Observar el resultado y el contexto de base de datos.

f. Qué base de datos se selecciona en la bases de datos Disponible caja? Tarea 3: Ejecutar una parte de la T-SQL Script 1.

Resalte la instrucción SELECT en el script T-SQL bajo la descripción de la tarea 2

2. Observa el resultado. Usted debe obtener el mismo resultado que en la tarea 2. Reader Ayuda: Una forma de resaltar una parte del código es mantener pulsada la tecla Alt mientras dibuja un rectángulo alrededor de ella con el ratón. Se seleccionará TheCode dentro del rectángulo dibujado. Intentalo. Resultados: Después de este ejercicio, usted debe saber cómo abrir la secuencia de comandos T-SQL y ejecutar todo el guión o simplemente una declaración específica en su interior.

Ejercicio 2: Ejecutar consultas que filtran datos mediante predicados Escenario La siguiente secuencia de comandos T-SQL es muy similar a la primera. La sentencia SELECT recupera las mismas columnas de la tabla hr.employees, pero utiliza apredicate en la cláusula WHERE para recuperar sólo filas con el valor "EE.UU." en la columna del país. Las principales tareas de este ejercicio son los siguientes: 1.

Ejecutar el T-SQL Script

2.

Aplicar cambios necesarios y ejecutar el T-SQL Script

3. Elimine la Declaración USO Tarea 1: Ejecutar el T-SQL Script 1.

Cierre todos los archivos de script abiertos.

Abra el archivo de proyecto D: \ Labfiles \ Lab02 \ arranque \ Project \ Project.ssm 2.

el guión.

3. Usted obtiene un error. ¿Cuál es el mensaje de error? ¿Por qué crees que sucedió Tarea 2: Aplicar cambios necesarios y ejecutar el T-SQL Script

Aplicar los cambios necesarios en la secuencia de comandos para que se ejecute 1.

problema Mira lo IsSelected en el. Las bases de datos disponibles caja.) Prue

2. Observa el resultado. Observe que el resultado tiene un menor número de filas q Tarea 3: Elimine la Declaración USO

Los comentarios en las secuencias de comandos T-SQL se pueden escribir dentro d 1 especifica un comentario como un bloque que empieza por / * y terminando con * /

. 2 Elimine la TSQL USO; comunicado. .

3 Guarde y cierre el script T-SQL. Abra la secuencia de comandos T-SQL 61 - Ejercicio . 4 ¿Por qué el guión ejecutar sin errores? .

5 Observar el resultado y notar el contexto de base de datos en la bases de datos D . Resultados: Después de este ejercicio, usted debe tener una comprensión básica de contexto de base de datos y cómo cambiarlo.

Ejercicio 3: Ejecución de Consultas ese tipo de datos Uso de ORDER BY Escenario El guión última T-SQL proporcionada por el departamento de TI tiene un comentario: "Esta sentencia SELECT devuelve el nombre, apellido, ciudad y país / regioninformation para todos los empleados de los EE.UU., ordenada por apellido." Las principales tareas de este ejercicio son los siguientes: 1.

Ejecutar el T-SQL Script

2. Elimine las instrucciones T-SQL necesarios y ejecutarlos Tarea 1: Ejecutar el T-SQL Script

Abra el archivo de proyecto D: \ Labfiles \ Lab02 \ arranque \ Project \ Project.ssm 1.

el guión.

2. Observe los resultados. ¿Por qué es la ventana de resultados vacío? Tarea 2: Elimine las instrucciones T-SQL necesarios y ejecutarlos

Observe que, antes de la declaración de USO, están los personajes - que signific 1.

un comentario de bloque alsoa alrededor de toda la instrucción T-SQL SELECT. El

2.

Primero ejecute el comando USE y luego ejecutarlo, a partir de la cláusula SELEC

Observe los resultados. Tenga en cuenta que los resultados tienen las mismas fil 3.

por la columna de apellido.

Resultados: Después de este ejercicio, usted debe tener una comprensión de cómo los comentarios se pueden especificar dentro de secuencias de comandos T-SQL.

Revisión del módulo y comida para llevar Revisión Pregunta (s) Pregunta: ¿Qué categoría de instrucciones T-SQL preocupaciones consultar y modificar datos? Pregunta: ¿Cuáles son algunos ejemplos de las funciones de agregado con el apoyo de T-SQ