





















Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Una guía sobre cómo realizar consultas en bases de datos utilizando la instrucción SELECT, con ejemplos de consultas elementales y avanzadas. También se explica cómo utilizar las funciones de agregación, la instrucción GROUP BY y la instrucción JOIN ON para combinar varias tablas. El documento está dirigido a estudiantes de Ingeniería en Sistemas Computacionales que cursan la materia de Administración de Base de Datos en el Instituto Tecnológico Superior de Calkiní en el estado de Campeche.
Tipo: Exámenes
1 / 29
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!






















SELECT [ALL / DISTINCT] [* / ListaColumnas] AS NombreNuevo, Funciones Agregación [COUNT(* / ListaColumnas), MAX, MIN, SUM, AVG] FROM NombreTabla WHERE NombreColumna [<, >, = ,..., BETWEEN AND, LIKE % / _, IS (NOT) NULL, IN] GROUP BY ListaColumnas(Funciones Agregación) HAVING Condiciones Grupos ORDER BY ListaColumnas [ASC / DESC]
--Primeramente ejecutamos la base de datos. use Northwind
--1. Mostrar todas (*) las columnas de una tabla (from). select * from dbo.Products
--4. No incluir (DISTINCT) filas duplicadas. select distinct * from dbo.Products --5. Renombrar (AS) columnas. select ProductID as Identificador, ProductName as [Nombre Producto], UnitPrice as [Precio Unidad], UnitsInStock as UnidadesStock from dbo.Products
--6. Renombrar (AS) tablas. select * from dbo.Products as Productos
--1. Condiciones con expresiones matemáticas boleanas (>, <, =, >=, <=, != ó <>). --(Mostrar solo los productos con un precio mayor que 25) select * from dbo.Products where UnitPrice > 25
--3. Condiciones de cadenas de caracteres (LIKE _ , %). --(Mostrar todos los datos de los clientes cuyo nombre comienza por A) select * from Customers where ContactName like 'A%' -- El '%' significa cualquier cadena de caracteres. --(Mostrar los Paises que comienzan por U y después un solo caracter). select Country as Paises from Customers where Country like 'U_' --El '_' significa cualquier caracter.
--4. Mostrar solamente las filas con valores nulos (IS NULL) en una columna determinada. select * from dbo.Customers where Region is null --5. Mostrar solamente las filas con valores no nulos (IS NOT NULL) en una columna determinada. select * from Customers where Fax is not null
(select UnitPrice from [Order Details] where Quantity = 130 ) -- Esta consulta devuelve 18. y 35.25. --Por lo tanto solo se mostrarán productos cuyo precio sea mayor que 18.00, incluido 35.25 si lo hubiera. --8. Con la clausula ALL podemos hacer lo mismo pero en este caso devolverá todos los productos --cuyo precio sea mayor que todos los precios de los detalles de pedidos de 130. Es decir, mayor que --todos los valores devueltos por la segunda consulta (18.00, 35.25), o lo que es lo mismo, --mayor que 35. select * from Products where UnitPrice > ALL (select UnitPrice from [Order Details] where Quantity = 130 )
--9. Comprobar la existencia de un registro. --Mostrar los empleados cuya ciudad también exista en la tabla de empleados. select LastName, FirstName, City from Employees E where exists (select * from Customers C where E.City = C.City)
--1. Orden ascendente de filas. --(Tabla Productos ordenada por el precio de menor a mayor). select * from dbo.Products order by UnitPrice asc
--3. Combinaciones de orden en distintas filas. select ProductID, ProductName, UnitPrice, UnitsInStock from dbo.Products order by UnitPrice, UnitsInStock desc
-- Una subconsulta es una consulta SELECT dentro de un WHERE en una consulta previa SELECT. Es decir, realizamos -- dentro de una consulta, otra consulta para mostrar datos especificos de la primera consulta. Ejemplos:
--1. Mostrar todos los empleados que tengan el mismo sexo (TitleOfCourtesy) que el empleado 9 (EmployeeID). select * from dbo.Employees where TitleOfCourtesy = (select TitleOfCourtesy from dbo.Employees where EmployeeID = 9 ) --Esta subconsulta devuelve 'Ms'. --2. Mostrar todos los productos de las categorías (bdo.Categories) bebidas (Beverages) y condimentos (Condiments). select * from dbo.Products where CategoryID in (select CategoryID from dbo.Categories where CategoryName in ('Beverages','Condiments')) --Esta subconsulta devuelve 1 y 2.
--FUNCIONES DE AGREGACIÓN EN SELECT--
--4. Obtener el valor máximo (MAX) y mínimo (MIN) de una columna. select max(UnitPrice) as [Precio máximo], min(UnitsInStock) as [Stock mínimo] from dbo.Products --5. Obtener un sumatorio (SUM) de una columna determinada. select sum(Freight) as [Peso Total] from dbo.Orders --6. Obtener la media (AVG) de los valores de una columna determinada. select avg(Freight) as [Peso Medio] from dbo.Orders
--La instrucción GROUP BY permite especificar las columnas sobre las que se quieren aplicar las funciones de --agregación en lugar de hacerlo en una tabla completa. Es decir, muestra un resultado de la función de agregación --para cada elemento de la columna que especifiquemos. Ejemplos: --1. Mostrar cuantas veces se repite cada precio de los productos. select UnitPrice, count() as [Filas con este precio] from Products group by UnitPrice --2. Mostrar número de clientes de cada region y ciudad de USA. select Region, City, count() as [Nº Clientes] from Customers where Country = 'USA' group by Region, City order by [Nº Clientes] desc
--Primeramente ejecutamos la base de datos. use Northwind
-- Si no se hacen coincir los valores de las columnas relacionadas se obtiene gran duplicidad de filas. Tantas como -- el producto cartesiano de las filas de las tablas a las que se hace referencia. Ejemplo: select * from dbo.Products, dbo.Orders
-- Cuando se relacionan varias tablas es normal que una misma columna forme parte de varias tablas. Para evitar -- errores de nombres duplicados podemos hacer dos cosas. Una es utilizar la sintaxis de nombre completo: -- NombreTabla.NombreColumna. select * from dbo.Products, dbo.Categories where dbo.Products.CategoryID = dbo.Categories.CategoryID
-- La otra forma es dar un alias a cada tabla. Ejemplo: select * from dbo.Products P, dbo.Categories C where P.CategoryID = C.CategoryID
--NOTA: La instrucción INNER JOIN es exactamente lo mismo que JOIN, dado que es el valor predeterminado. --TEORÍA-- -- La instrucción JOIN nos permite combinar varias tablas haciendo coincidir los valores de las columas que nos