Notas
Resumen UD4
Conteúdo das notas (12)
Página 1
UNIDAD 4 DQL
Select expre1 FROM tabla1;
columna (nombreTabla.columna)
constante expresion con funciones y/u operadores
-----------------------------------------------------------------------------------
//Con estas funciones se ejecutan las querys:
SELECT * FROM departamentos;
SELECT CodDpto, Nombre FROM departamentos;
SELECT CodDpto FROM departamentos;
-----------------------------------------------------------------------------------
ALIAS DE TABLA:
SELECT d.CodDpto, d.Nombre FROM departamentos;
Página 2
OPERADORES DEL SELECT
-ALL: Retorna todas las filas incluso si estan repes.
-DISTINCT: Retorna filas no repetidas.
SELECT [ALL] Proveedor FROM pedidos;
SELECT DISTINCT Proveedor FROM pedidos;
--AS: Crear alias de expreX ----- Cambia el rótulo de cabecera en resultado.
SELECT CodDpto AS código, Ubicacion AS dónde FROM departamentos;
Página 3
Filtrado de tablas
Especificación de los datos concretos que se desea obtener. (CONDICIÓN)
WHERE: filtrado de tablas.
HAVING: filtrado de agrupaciones.
Al comparar con String o Fechas entrecomillas (dobles/ simples)
SELECT NOmbre FROM empleados WHERE dpto= "IT";
SELECT nombre FROM empleados WHERE dpto<>"IT";
SELECT nombre FROM empleados WHERE dpto<>"IT";
SELECT nombreproducto, precio FROM productosped WHERE precio >=20;
SELECT Fecha, Proveedor FROM pedidos WHERE Fecha <'2013-06-13';
Página 4
Operador IS NULL/IS NOT NULL
Operador IS NULL/ IS NOT NULL
SELECT * FROM proyectos WHERE dpto IS NULL;
SELECT * FROM proyectos WHERE dpto IS NOT ULL;
Operadores lógicos: Operan sobre expr.lógica (Condiciones)
NOT: Invierte la condición NOT T= F // NOT F= T
AND: Multiplicación logica El resultado será cierto si todas son ciertas. // Condicion1 and Condicion2
OR: Suma lógica. El resultado será cierta si al menos una condición lo es.
PARENTISIS >> NOT/ AND/OR>> LEFT---- RIGHT
SELECT * FROM empleados WHERE dpto = 'IT' OR dpto='CONT';
SELECT * FROM empleados WHERE dpto ='IT' and fechaalta <'2013-01-01';
SELECT * FROM proyecto WHERE (fechainicio<'2013-01-01' AND dpto= 'IT') OR dpto IS NULL;
SELECT * FROM productospedido WHERE (numpedido<2 OR numpedido>3) AND numpedido> 2;
OPERADOR BETWEEN: La condiciñon será cierta si el campo toma valores dentro de un rango, extremos incluidos.
SELECT * FROM productospedido WHERE numpedido BETWEEN 1 AND 4 AND numpedido<>1 AND numpedido<>4;
Página 5
OPERADOR IN/ NOT IN: La condicion será cierta si el campo toma valores dentro/fuera de un conjunto
SELECT * FROM empleados WHERE dpto='CONT' OR dpto='IT' OR dpto='ALM';
SELECT * FROM empleados WHERE dpto IN ('CONT`, 'IT', 'ALM);
OPERADOR LIKE: En campos tipo Strings , la condición será cierta si coincide con el patrón.
COMODINES: _ , %.
Para CASE SENSITIVE ------- LIKE BINARY
SELECT * FROM empleados WHERE nombre LIKE 'A%';
SELECT * FROM empleados WHERE LIKE BINARY;
SELECT * FROM empleados WHERE nombre LIKE '__ERTO%';
ORDENACIÓN DEL RESULTADO
ORDER BY, opcional, va detrÁs del WHERE (Si está)
ORDER BY crit1 [ASC/DESC] [,...]
SELECT RefeProducto, Cantidad FROM productospedidos ORDER BY cantidad DESC;
Página 6
Calculos: Funciones de Agregación
Hace cálculos sobre conjunto de valores y devuelve un valor. EL conjunto de valores va entre parentesis y sin espacio.
Se usa en la clausula SELECT
MIN, MAX
SUM
AVG
COUNT
SELECT MAX (precio) FROM productosped;
SELECT COUNT(DISTINCT especialidad) FROM empleador;
SELECT COUNT(*) FROM proyectos; ------- Cuenta TODOS los registros (TB NULOS)
SELECT COUNT (dpto) FROM proyectos; ----- Cunenta los NO NULOS en dpto
Cálculos aritméticos
SUMA (+), RESTA(-), MULTIPLICACIÓN(*), DIVISION(/), MODULO(%)
Se usan en las cláusula SELECT
SELECT *,Precio*1.21 FROM productosped;
Prioridad, como en MAtes PARENTESIS>> MULT y DIV Y MOD >> SUMA, RESTA
Cálculos sobre NULL---- Devuelven NULL
Página 7
NIVEL MEDIO :Agrupaciones /Consultas.Multitabla.
SELECT [ALL/DYSTINCT]] expr1[,...]
FROM Tabla1
{INNER /LEFT/RIGTH } JOIN tabla2
ON expre_igualdad]
[WHERE condicion]
[GROUP BY crit1 [,..]]
[HAVING hcond]
[ORDER BY gcrit1[DESC/ASC][,...]
Agrupaciones
AGRUPACIONES
Cláusula GROUP BY, OPCIONAL. Va después del WHERE (SI HAY )
Agrupar resultados y suelen ir acompañadas de Funciones Agregadas.
El gcritX se puede utilizar el numero de posición de la expresion en el SELECT
Página 8
F.AGREGACION CON AGRUPACIONES
GROUP BY Y F.AGREG suelen ir de la mano; aun así:
Si se usa GROUP BY sin F.AGREG, todas las expre. del SELECT deberÍan estar en el GROUP BY
SI se usan F.AGREG sin GROUP By, todas las expre del SELECT deberían estar en F.AGREG.
AQUI PODEMOS ESTABLECER 3 CASOS :
CONS.SOLO DATOS, CONS SOLO CÁLCULOS (F.AGREG), CONST.MIXTAS
Sólo datos: usar DISTINCT/GROUP BY (excluyentes y equivalentes).
Sólo calculos: DISTINCT redundante, GROUP BY sin sentido.
MIxta: el resultado sin GROUP BY será incorrecto o sin sentido.
DISTINCT para eliminar repetidos (opcional).
AGRUPACIÓN CON CONDICIONES(FILTRADO DE AGRUPACIONES)
La cláusula HAVING sirve para filtrar agrupaciones.
Surge de la necesidad de filtrar usando F. de agreagación.(NO ADMITIDAS EN WHERE)
Primero se agrupa y luego se filtra.
Mismos operadores que en WHERE.
NO necesariamente tiene que haber F.Agregación en el SELECT .
Usando alias de expresion: Poner la hcond es + SENCILLO
Tambien se puede usar HAVING sin funciones de agregación, pero hay que tener en cuenta el orden de procesamiento de las cláusulas.
LO DE ARRIBA en este orden PRIMERO FROM -- WHERE--- GROUP BY ---HAVING --- SELECT --DISTNCT--- ORDER BY
Página 9
CONS.Multitabla/Combinaciones
CONS.Multitabla/Combinaciones
Sirven para leer datos que involucran 2+ tablas
Prod.Cartesiano/CROSS JOIN
Usado sin WHERE, generea trodas las COMB. posibles al juntar cada fila de una tabla con cada fila de la otra.
NO tienen en cuenta relaciones entre tablas.(Segun ellos no sirve para nada)
INNER JOIN (COMB.Interna)
Las tablas estan relacionadas
Se aplica un filtro que incluye pk y fk (o,en general campos concidentes)
Las tablas resultante solo muestra filas donde haya registros coincidentes con lo indicado
Página 10
Página 11
Formato avanzado de la salida
Página 12
Es posible embellecer la salida usando algunas funciones auxiliares ("de manip. de datos").
CONCAT: ENCADENA CADENAS DE TEXTO(String/Varchar)
ROUND: REDONDAR VALORES NUMERICOS DECIMALES
CAST: CONVIERTE ENTRE TIPOS DE DATOS.
HAY MAS: SUBSITRNG, FLOOR, CEIL, TRIM, FORMAT...
Ejemplos:
SELECT CONCAT("La extensión telefónica de ", nombre, " " , apellidos1, " es ", extensión) AS empleados;
SELECT CONCAT(" EL codigo de empleado", CAST (odigoempleado AS CHAR), "pertenece a ...
SELECT ROUND (AVG(precioventa,)2) FROM productos;
Informações
- Descrição
- Grado Superior Base de Datos Notas sobre Resumen UD4, criado por Mahyaoui Junior em 14-01-2025.
- Criado por
- Mahyaoui Junior · jan 2025
- Atualizado
- 3 fev 2025
- Visualizações
- 4
- Avaliação