Lenguaje de manipulación de datos
Lenguaje de cierta complejidad que permite el manejo y procesamiento del contenido de la base de datos.
Sentencias DML:
• Select
• Insert
• Update
• Delete
SELECT. Permite recuperar datos de una o varias tablas. Esta sentencia es de la más compleja y potente de
las sentencias SQL.
Sintaxis:
SELECT lista_de_campos
[ FROM nombre_tabla ]
[ WHERE condicion_individual]
[ GROUP BY campos_a_agrupar ]
[ HAVING condicion_grupo ]
[ ORDER BY campo_a_ordenar [ ASC | DESC ] ]
Nota: debe tomar en cuenta el orden de las clausulas o palabras reservadas mostradas en la sintaxis anterior,
las instrucciones GROUP BY y HAVING se estudiarán en la Guía 8
FROM
Se utiliza en conjunto con la cláusula FROM con la cual se indica en qué tabla o tablas se tiene que buscar la
información.
1
Ejemplo 1:
Resultado:
WHERE
La cláusula WHERE permite seleccionar únicamente las filas que cumplan con una condición de selección
Ejemplo 2:
Resultado:
especificada. Sólo se mostrarán las filas para las cuales la evaluación de la condición sea verdadera (TRUE).
2
Los campos con valores NULL no se incluirán en las filas de resultado.
La condición de la cláusula WHERE puede ser cualquier condición válida o combinación de condiciones
utilizando operadores lógicos (NOT, AND, OR) y relacionales (=, <, >, <=, >=).
Ejemplo 1:
Resultado:
Ejemplo 2:
Resultado:
Ejemplo 3:
3
Ejemplo 4:
Resultado:
Ejemplo 5
Resultado:
Del resultado tomamos el registro 1 y vemos que el
dato de ProductID es igual 13
y no cumple la condición, pero el dato almacenado
en el campo UnitPrice si es menor que 10 y se
cumple la condición, y como se está utilizando el
operador OR con uno que sea verdadero es
suficiente para que el registro se muestre como un
resultado de la consulta SELECT
LIKE
Puede utilizarse la cláusula LIKE para formar patrones de comparación con caracteres comodín.
4
Los comodines más utilizados son:
• _: Cualquier carácter.
• %: Cualquier cadena de cero o más caracteres
• [ ]: Cualquier carácter individual del intervalo ([a-z])
Pude utilizarse únicamente LIKE o NOT LIKE, indicando igual o no igual respectivamente
Ejemplos:
Ejemplo 1:
Resultado:
Ejemplo 2:
Resultado:
Ejemplo 3:
5
Resultado:
Ejemplo 4:
Resultado:
Ejemplo 5:
Resultado:
Ejemplo 6:
Ejemplo 7:
6
Resultado:
Resultado:
ORDER BY
Se puede hacer uso de la cláusula ORDER BY para mostrar los datos de forma ordenada.
Si se utiliza en conjunto la cláusula ASC, los registros se mostrarán en orden ascendente (de menor a mayor)
según el campo(s) especificado(s) en la cláusula ORDER BY. Si se utiliza la cláusula DESC, los registros serán
mostrados en orden descendente (de mayor a menor).
Ejemplo 1:
7
Resultado:
Ejemplo 2:
Resultado:
DISTINCT
La cláusula DISTINCT especifica que los registros con ciertos datos duplicados sean ignorados en el resultado.
Ejemplo 1:
Resultado:
8
TOP N
TOP n, especifica que solo se mostrará el primer conjunto de filas del resultado de la consulta.
El conjunto de filas puede ser un número o un porcentaje de las filas (TOP n PERCENT)
TOP n WITH TIES: Esta cláusula permite incluir en la selección, todos los registros que tengan el mismo valor
del campo por el que se ordena Ejemplo 1:
Resultado:
Ejemplo 2:
Resultado:
Ejemplo 3:
Resultado:
9
Renombrar columnas de una consulta.
En ocasiones en las consultas es necesario colocarles un sobrenombre a las columnas, ya que en ocasiones
en algunos resultados de la consulta algunas columnas se obtienen a partir de operaciones o las columnas
tienen nombres en inglés y así se puede poner un nombre más entendible.
Para colocar el sobrenombre a la columna se utiliza la instrucción AS.
Ejemplo 1:
Resultado:
Ejemplo 2:
Resultado:
10
III. Requerimientos
• Máquina con SQL Server 2012 o 2016
• Guía Número 4 de Modelamiento y diseño de base de datos
IV. Procedimiento
Parte 1: Iniciando sesión desde SQL Server Managment Studio
1. Abrir el SQL Server Management Studio
Para conectarse con el servidor de base de datos elija los siguientes parámetros de autenticación:
• Tipo de servidor: Database Engine
• Nombre del servidor: Colocar el nombre del servidor local, por ejemplo PCNumMaquina-SALAx
Nota: NumMaquina es el número de la maquina local
• Autenticación: SQL Server Authentication
• Login: sa
• Password: 123456
Parte 2. Haciendo uso de sentencias de manipulación de datos
1. Para los ejercicios de esta parte, se utilizará la base de datos Northwind
2. Digitar la siguiente instrucción SQL en el editor de consultas:
Ejercicio 1. Uso de la cláusula FROM
1. Seleccionar todas las columnas de la tabla Categories
2. Seleccionar los campos CategoryName y CategoryID de la tabla Categories
11
Ejercicio 2. Uso de la cláusula WHERE
1. Seleccionar los campos OrderID, ProductID y UnitPrice de la tabla Order Details donde el OrderID sea
igual a 10251
2. Seleccionar el campo CompanyName de la tabla Customers donde este sea igual a Alfreds Futterkiste
3. Seleccionar los campos OrderID, ProductID y UnitPrice de la tabla Order Details donde OrderID sea
igual a 10251 y ProductID sea igual a 57
4. Seleccionar los campos OrderID, ProductID y UnitPrice de la tabla Order Details donde OrderID sea
igual a 10251 o donde productid sea igual a 57
5. Seleccionar los campos OrderID, ProductID y UnitPrice de la tabla Order Details donde el dato
almacenado en OrderID sea mayor o igual a 11000
6. Seleccionar los campos OrderID, ProductID y UnitPrice de la tabla Order Details donde el dato
almacenado en OrderID sea mayor o igual a 11000 y OrderID sea menor o igual a 11003
7. El mismo resultado de la consulta anterior, utilizando la instrucción BETWEEN
12
8. Seleccionar el campo CompanyName de la tabla Customers donde el dato almacenado en ese campo
comience con la letra A
9. Seleccionar el campo CompanyName de la tabla Customers donde el dato almacenado en ese campo
termine con los caracteres MA
10. Seleccionar el campo RegionDescription de la tabla Region donde el dato almacenado en el campo
contiene la palabra TERN
11. Seleccionar el campo OrderID de la tabla Order Details donde el dato almacenado en el campo
comience con un numero cualquiera pero el cual debe terminar con los dígitos 0285
12. Seleccionar el campo CompanyName de la tabla Customers donde el dato almacenado en ese campo
comience con cualquiera de las letras a,b o c
13. Seleccionar todos los campos de la tabla Order Details donde el campo OrderID tenga alguno de los
siguientes datos: 10248, 10255 y 10270
14. El mismo resultado de la consulta anterior pero utilizando el operador lógico OR
Ejercicio 3. Uso de la cláusula ORDER BY
1. Ordenar de manera ascendente los registros almacenados en los campos CategoryName y CategoryID
de la tabla Categories
13
2. El ordenamiento ascendente es el que viene por defecto, por lo tanto obtenemos el mismo resultado
de la consulta anterior, con esta:
3. Ordenar de manera descendente los registros almacenados en los campos CategoryName y
CategoryID de la tabla Categories
Ejercicio 4. Uso de la instrucción DISTINCT
1. Digitar la siguiente consulta
2. Se obtienen los siguientes resultados:
Registros duplicados
3. Con la siguiente consulta, se obtendrán los mismos resultados pero mostrando un único registro de
todos los que están repetidos que se mostraron en la consulta anterior
Seleccionar un único registro de los campos SupplierID y CategoryID de la tabla Products
4. Se obtienen los siguientes resultados:
Ejercicio 5. Renombrar columnas de una consulta
14
1. Con la instrucción AS se está renombrando una columna del resultado de una consulta en este
ejercicio se está colocando un sobrenombre a las columnas CategoryID y CategoryName de la tabla
Categories
2. En este ejemplo se ha colocado a la columna el sobrenombre Aumento a la operación de calcular un
aumento del 10% al precio original del producto
Ejercicio 6. Uso de la instrucción TOP N
Para estos ejercicios se ha calculado la venta (unidades vendidas por el precio unitario) de cada orden y se ha
renombrado a la columna con el nombre Venta Total
1. Seleccionar las primeras 3 mejores ventas de la tabla Order Details
2. Seleccionar las tres mejores ventas, utilizando la instrucción WITH TIES se permitirá incluir en los
resultados los registros que tengan el mismo valor en el cálculo de la Venta Total
3. Seleccionar el 25% del total de registros de las ventas las cuales están almacenadas en la tabla Order
Details
15