Sei sulla pagina 1di 28

CONSULTAS DE

SELECCIN

Taller de Base de Datos

FUNCIONES DE TIEMPO EN
UNA CONSULTA

GETDATE
GETUTCDATE
DATEPART
DAY
MONTH
YEAR

Devuelve la fecha actual.


Devuelve la hora UTC.
Devuelve un entero que corresponde a la parte de la fecha
solicitada.
Devuelve el da de la fecha indicada.
Devuelve el mes de la fecha indicada.
Devuelve el ao de la fecha indicada.

DATENAME

Devuelve una cadena de caracteres que representa el valor de la


unidad especificada de una fecha especificada.

DATEADD

Devuelve un valor datetime nuevo que resulta de sumar un


intervalo de tiempo a una fecha especificada.>

DATEDIFF
@@DATEFIRST
SET DATEFIRST

Devuelve el n de intervalos que hay entre dos fechas.


Devuelve el primer da de la semana establecido con SET
DATEFIRST.
Establece el primer da de la semana en un nmero del 1 al 7.

FUNCIONES PARA CADENAS


DE CARACTERES EN UNA
CONSULTA
Funcin
CHAR
NCHAR
LEN

Descripcin
Devuelve el carcter ASCII del entero indicado.
Devuelve el carcter Unicode del entero indicado.
Devuelve el total de caracteres de una cadena, excluidos los
espacios en blanco finales.

LTRIM

Devuelve una cadena tras quitarle los espacios en blanco iniciales.

RTRIM
LEFT
RIGHT
SUBSTRING
LOWER
UPPER
REPLACE

Devuelve una cadena tras quitarle los espacios en blanco finales.


Devuelve los N ltimos caracteres de una cadena.
Devuelve los N primeros caracteres de una cadena.
Devuelve parte de una expresin.
Devuelve la cadena convertida a minsculas.
Devuelve la cadena convertida a maysculas.
Reemplaza una determinada cadena.

COLUMNAS CALCULADAS
Adems de las columnas que
provienen directamente de la tabla
origen, una consulta SQL puede
incluir columnas calculadas cuyos
valores se evalan a partir de una
expresin.

EJEMPLO
SELECT
idfab,
idproducto,
descripcion,
(existencias*precio) AS valoracion
FROM productos;

ORDENACIN DE LAS FILAS


DEL RESULTADO
Si queremos que las filas del
resultado de la consulta aparezcan
ordenadas, lo podemos indicar
mediante la clusula ORDER BY.

SINTAXIS PARA ORDER BY


ORDER
BY
{expresin_columna|
posicin_columna [ASC|DESC]} [,n]

EJEMPLO CON ORDER BY


SELECT * FROM soldado
ORDER BY nombre DESC;

ELIMINAR FILAS
DUPLICADAS
SQL no elimina las filas duplicadas
en el resultado de la consulta, si
nosotros no queremos que se repitan
las filas, tenemos la clusula
DISTINCT.

EJEMPLO
SELECT DISTINCT id_soldado
FROM soldado_servicio;

LA CLUSULA TOP
La clusula TOP indica que en el
resultado no deben aparecer todas
las filas resultantes sino un cierto
nmero de registros, las n primeras.

EJEMPLO
SELECT TOP 2 * FROM cuartel;

PERTENENCIA A UN
INTERVALO
Se usa BETWEEN para examinar si el
valor de la expresin de test est en
el rango delimitado por los valores
resultantes
de
expresion1
y
expresion2.

EJEMPLO
SELECT
nombre,
apellidos,
graduacion
FROM soldado
WHERE edad BETWEEN 20 AND 30;

TEST DE PERTENENCIA A
CONJUNTO
Con la clusula IN se examina si el
valor de la expresion es uno de los
valores incluidos en la lista de
valores indicados entre parntesis.

EJEMPLO
SELECT
soldado.nombre,
soldado.apellidos
FROM soldado, soldado_servicio
WHERE
soldado.id_soldado=soldado_servicio.id
_soldado

FUNCIONES DE
AGREGACIN
Las funciones de agregacin en SQL
nos permiten efectuar operaciones
sobre un conjunto de resultados,
pero devolviendo un nico valor
agregado para todos ellos.

FUNCIONES DE
AGREGACIN BSICAS
COUNT: devuelve el nmero total de filas seleccionadas por la
consulta.
MIN: devuelve el valor mnimo del campo que especifiquemos.
MAX: devuelve el valor mximo del campo que
especifiquemos.
SUM: suma los valores del campo que especifiquemos. Slo se
puede utilizar en columnas numricas.
AVG: devuelve el valor promedio del campo que
especifiquemos. Slo se puede utilizar en columnas numricas.

EJEMPLOS
SELECT COUNT(*) AS 'Soldados
registrados' FROM soldado;
SELECT MAX(edad) AS 'Soldado ms
grande' FROM soldado;

EJEMPLOS
SELECT MIN(edad) AS 'Soldado ms
jven' FROM soldado;
SELECT
AVG(edad)
AS
'Edad
promedio de los soldados' FROM
soldado;

EJERCICIOS PROPUESTOS
1. Obtener la relacin completa de los dulces que
se han vendido el da 12/09/2016.
2. Mostrar la informacin completa de los dulces
cuyo precio es mayor a 15 pesos pero menor
que 29.50 pesos.
3. Muestra la relacin de dulces que se vendieron
en la venta 2, ordena el resultado por nombre
del dulce en forma descendente.

CONSULTAS
MULTITABLA

Consultas de seleccin

OPERACIONES DE LGEBRA
RELACIONAL
1. La unin UNION
2. La diferencia EXCEPT
3. La interseccin INTERSECT
4. El producto cartesiano CROSS JOIN
5. La composicin interna INNER JOIN
6. La composicin externa LEFT JOIN, RIGHT
JOIN Y FULL JOIN

UNION
Combina los resultados de dos o
ms consultas en un solo conjunto
de resultados que incluye todas las
filas que pertenecen a las consultas
de la unin.

EJEMPLO UNION
SELECT ProductModelID, Name
INTO dbo.ProductResults
FROM Production.ProductModel
WHERE ProductModelID NOT IN (3, 4)
UNION
SELECT ProductModelID, Name
FROM dbo.Gloves;

JOIN EJEMPLO
SELECT grua.placa, grua.tipo FROM
grua LEFT JOIN grua_servicio
ON grua.placa = grua_servicio.placa

LA CLUSULA HAVING
HAVING es muy similar a la clusula
WHERE, pero en vez de afectar a las
filas de la tabla, afecta a los grupos
obtenidos

FUENTES DE INFORMACIN
Consultas
simples.
http://
www.aulaclic.es/sqlserver/t_3_4.htm.

Potrebbero piacerti anche