Sie sind auf Seite 1von 19

Módulo 3

Escribir consultas SELECT

Paco Márquez Urbina


pmarquez@sistemasunica.edu.pe
Escribir consultas SELECT

• Descripción general del módulo


• Escribir declaraciones SELECT simples
• Eliminando duplicados con DISTINCT
• Usar alias de columna y tabla
• Escribir expresiones CASE simples
Lección 1: Escribir declaraciones SELECT simples

• Elementos de la declaración SELECT


• Recuperando columnas de una tabla o vista
• Exhibiendo Columnas
• Usar cálculos en la cláusula SELECT
• Demostración: Escribir declaraciones SELECT
simples
Elementos de la declaración SELECT

Cláusula Expresión

SELECT <seleccionar lista>

FROM <table de origen>

WHERE <condición de búsqueda>

GROUP BY <grupo por lista>

ORDER BY <orden por lista>


Recuperando columnas de una tabla o vista

• Use SELECT con la lista de columnas para mostrar las


columnas
• Use FROM para especificar una tabla fuente o vista
• Especifique los nombres de esquema y tabla
• Delimite nombres si es necesario
• Termine todas las declaraciones con un punto y coma
Keyword Expression
SELECT <lista de campos>

FROM <table de origen>

SELECT companyname, country


FROM Sales.Customers;
Exhibiendo Columnas

• Mostrando todas las columnas


• ¡Esta no es una mejor práctica en el código de
producción!
SELECT *
FROM Sales.Customers;

• Mostrar solo columnas especificadas


SELECT companyname, country
FROM Sales.Customers;
Usar cálculos en la cláusula SELECT

• Los cálculos son escalares, devolviendo un


valor por fila
Operador Descripción
+ Sumar o concatenar
- Restar
* Multiplicar
/ Dividir
% Residuo

• Usar expresiones escalares en la cláusula


SELECT
SELECT unitprice, qty, (unitprice * qty)
FROM sales.orderdetails;
Demostración: Escribir declaraciones SELECT simples

En esta demostración, verás cómo:


• Use consultas SELECT simples
Lección 2: Eliminar duplicados con DISTINCT

• Conjuntos de SQL y filas duplicadas


• Comprender DISTINCT
• Sintaxis SELECT DISTINCT
• Demostración: eliminando duplicados con
DISTINCT
• Conjuntos de SQL y filas duplicadas
• Comprender DISTINCT
• Sintaxis SELECT DISTINCT
Conjuntos de SQL y filas duplicadas

• Los resultados de la consulta SQL no son realmente


relacionales
• No se garantiza que las filas sean únicas, no hay orden
garantizada
• Incluso las filas únicas en una tabla fuente pueden
devolver valores duplicados para algunas columnas
SELECT country
FROM Sales.Customers;

country
--------------
Argentina
Argentina
Austria
Austria
Belgium
Belgium
Comprender DISTINCT

• Especifica que solo las filas únicas pueden


aparecer en el conjunto de resultados
• Elimina los duplicados según los resultados de la
lista de columnas, no la tabla fuente
• Proporciona exclusividad en un conjunto de
columnas seleccionadas
• Elimina las filas ya operadas por las cláusulas
WHERE, HAVING y GROUP BY
• Algunas consultas pueden mejorar el rendimiento
filtrando los duplicados antes de la ejecución de la
cláusula SELECT
Sintaxis SELECT DISTINCT

SELECT DISTINCT <column list>

FROM <table or view>

SELECT DISTINCT companyname, country


FROM Sales.Customers;

companyname country
-------------- -------
Customer AHPOP UK
Customer AHXHT Mexico
Customer AZJED Germany
Customer BSVAR France
Customer CCFIZ Poland
Lección 3: Usar alias de columnas y tablas

• Usar alias para referirse a columnas


• Usar alias para referirse a las tablas
• El impacto de la orden de procesamiento lógico
en los alias
Usar alias para referirse a columnas

• Alias de columna que usan AS


SELECT orderid, unitprice, qty AS quantity
FROM Sales.OrderDetails;

• Alias de columna usando =


SELECT orderid, unitprice, quantity = qty
FROM Sales.OrderDetails;

• Alias de columna accidentales


SELECT orderid, unitprice quantity
FROM Sales.OrderDetails;
Usar alias para referirse a las tablas

• Crear alias de tabla en la cláusula FROM


• Alias de tabla con AS
SELECT custid, orderdate
FROM Sales.Orders AS SO;

• Alias de tabla sin AS


SELECT custid, orderdate
FROM Sales.Orders SO;

• Usar alias de tabla en la cláusula SELECT


SELECT SO.custid, SO.orderdate
FROM Sales.Orders AS SO;
El impacto de la orden de procesamiento lógico en
los alias

• Cláusulas FROM, WHERE, y HAVING procesadas


antes de SELECT
• Los alias creados en la cláusula SELECT solo son
visibles para ORDER BY
• Las expresiones con alias en la cláusula SELECT
pueden repetirse en cualquier otro lugar de la
consulta
Lección 4: Escribir expresiones CASE simples

• Usar expresiones CASE en cláusulas SELECT


• Formas de expresiones CASE
Usar expresiones CASE en cláusulas SELECT

• Las expresiones T-SQL CASE devuelven un único valor


(escalar)
• Las expresiones CASE se pueden usar en:
• SELECCIONAR lista de columnas
• DONDE o TENER cláusulas
• Cláusula ORDER BY
• CASE devuelve el resultado de la expresión
• No es un mecanismo de control de flujo
• En la cláusula SELECT, CASE se comporta como una
columna calculada que requiere un alias
Formas de expresiones CASE

• Dos formas de expresiones T-SQL CASE:


• CASE simple
• Compara un valor con una lista de valores posibles
• Devuelve la primera coincidencia
• Si no coincide, devuelve el valor encontrado en la
cláusula ELSE opcional
• Si no coincide y no hay ELSE, devuelve NULL

• CASE buscado
• Evalúa un conjunto de predicados o expresiones
lógicas
• Devuelve el valor encontrado en la cláusula THEN que
coincide con la primera expresión que se evalúa como
TRUE

Das könnte Ihnen auch gefallen