Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clasula Where
Condiciones de Bsqueda Operadores de Comparacin Rangos Listas Patrones de Caracteres y Comodines Valores desconocidos
Principales Funciones
Matemticas De Fechas De Cadenas
Ejemplos : PLSQL de Oracle, Transact SQL de SQL Server, Informix 4GL de Informix, Microsoft JET SQL de Access, SYBASE Las sentencias SQL pueden ser incrustadas en programas de lenguajes como Cobol, Java, C, Visual Basic, etc.
Sentencia SELECT
Es la sentencia base del SQL y sirve para consultar las tablas de una base de datos. Esta sentencia incluye ocho clusulas de las cuales SELECT y FROM son obligatorias. Con esta sentencia se resuelven los operadores relacionales.
Sentencia SELECT
Estructura bsica: SELECT, FROM. SELECT corresponde a la operacin Proyeccin (). Lista los atributos deseados en el resultado de la consulta. FROM corresponde a la operacin Producto Cartesiano (X). Lista las relaciones que se deben analizar.
Clusula FROM
Especfica la(s) fuente(s) de donde van a ser tomadas las columnas mostradas y/o operadas en la sentencia Select. [SELECT] FROM expresin tabla [as] t_alias [, ...]
FROM WHERE
Sentencia INSERT
INSERT es otra sentencia DML base, que usa para incorporar nuevas filas a una tabla de base de datos. INSERT [INTO] {table-name | view-name} [(column-list)] {VALUES | (values-list) | select-statement }
Sentencia INSERT
INSERT INTO FABRICANTES (Nfabricante, Pas) VALUES (Reynolds Tobacco CO., EEUU) INSERT INTO MARCAS VALUES (Camel, Reynolds Tobacco CO., 10, 20) INSERT INTO CIGARRILLOS VALUES (Camel, N, R, Normal, N, 1.1, 15, 2)
Sentencia UPDATE
Modifica los datos existentes en filas de una tabla de Base de Datos
UPDATE {table-name | view-name} SET{column-list | variable-list | variable_and_column-list},.. [ WHERE { condition }]
Sentencia UPDATE
Cambiar aquellos cigarrillos de clase Normal, con filtro, fabricados por Tabacalera Nacional, de modo que ahora no tengan filtro
UPDATE CIGARRILLOS SET filtro = N WHERE marca in (SELECT marca FROM MARCAS WHERE Nfabricante = Tabacalera Nacional And filtro = S and clase = Normal)
Sentencia DELETE
Elimina filas de una tabla de Base de Datos. DELETE FROM {table-name | view-name} [WHERE {condition} ]
Sentencia DELETE
Eliminar todos los fabricantes que no manufacturen cigarrillos de clase Ultra Light
DELETE FROM FABRICANTES WHERE Nfabricante NOT IN (SELECT DISTINCT Nfabricante FROM MARCAS WHERE marca IN (SELECT marca FROM CIGARRILLOS WHERE clase = Ultra Light))
Clusula WHERE
Es la clusula en donde se especifican las condiciones de bsqueda para las filas que conforman el conjunto resultado. [SELECT ...] INTO tabla_temp [FROM ...] WHERE condiciones_de_bsqueda
Clusula WHERE
Las condiciones_de_bsqueda se conectan de forma opcional con los operadores lgicos AND, OR o NOT. Pueden corresponder a los siguientes tipos
Condiciones de comparacin. Condiciones con Subquery.
Condiciones de Bsqueda
Las condiciones de bsqueda pueden incluir: Operadores de Comparacin (=, <>, < y >). Rangos (BETWEEN y NOT BETWEEN). Listas (IN, NOT IN). Patrones de caracteres (LIKE y NOT LIKE). Valores desconocidos (IS NULL y IS NOT NULL). Combinaciones con conjunciones (AND, OR).
Condiciones de Bsqueda
Operadores de comparacin:
WHERE SueldoBsico > 1000 WHERE SUBSTR(CodigoPostal, 1, 3)= SAN
Wildcard
*% ?, #, _ [-] [!]
Significado
Cualquier cadena de cero o mas caracteres. Cualquier carcter/ nmero nico. Cualquier carcter nico dentro de un rango. Cualquier carcter nico que no est dentro de un rango.
LIKE %a
LIKE %ar%
LIKE [CM]arlo[ns]
LIKE [B-D]elia
LIKE _ _ _
LIKE _ _ _ %
Clusula GROUP BY
Especifica las columnas por las que las filas van a estar agrupadas o particionadas. Los resultados del query contienen un valor o conjunto de valores para cada conjunto de valores indicado por las funciones_de_agregacin nombradas en la lista del Select
Clusula GROUP BY
SELECT {{columnas_de_agrupacin,}, {funcin_de_agregacin,}} [FROM ] [WHERE ] GROUP BY {columnas_de_agrupacin,}
GROUP BY
Obtener el total de compras de cigarrillos de color negro realizadas
SELECT SUM(Qcomprada) Total_Unidades marca Marca', filtro Filtro, color Rubio/Negro, clase Clase, mentol Mentol FROM Compras WHERE color = N GROUP BY marca, filtro, color, clase, mentol
Clusula HAVING
Especifica una restriccin que se aplica a las funciones de agregacin de los grupos. Esto afecta a las filas que son devueltas como resultado y no al clculo de las funciones de agregacin. La clusula WHERE si puede condicionar al nmero de filas que intervienen en el clculo de las funciones de agregacin.
Clusula HAVING
SELECT {{columnas_de_agrupacin,}, {funcin_de_agregacin,}} [FROM ] [WHERE ] GROUP BY {columnas_de_agrupacin,} HAVING condiciones_de_bsqueda
GROUP BY y HAVING
Mostrar los nombres estancos que hayan realizado menos de 500 operaciones de venta
SELECT a.RUCEstanco, b.Nestanco FROM VENTAS a, ESTANCOS b WHERE a.RUCEstanco = b.RUCEstanco GROUP BY a.RUCEstanco, b.Nestanco HAVING COUNT(*) < 500
Clusula ORDER BY
Ordena el resultado de los querys por los valores de las columnas mencionadas. Solamente se puede ordenar por las columnas especificadas en el SELECT.
ASC: Es el valor por defecto e indica que los resultados se van a presentar ascendentemente. DESC: Debe especificarse al lado de la columna cuyo orden se desea ver en forma descendente.
Consideracin: ordenar un gran nmero de tuplas puede ser costoso. Es conveniente ordenar slo cuando sea estrictamente necesario.
Clusula ORDER BY
SELECT {columna 1, columna 2,} [FROM ] [WHERE ] [GROUP BY...] [HAVING ...] ORDER BY columna 1 [ASC|DESC],....
ORDER BY
SELECT Nombre 'Departamento', AVG(SueldoBasico) 'Promedio Sueldos' FROM EMPLEADO E, DEPARTAMENTO D WHERE E.Departamento = D.Departamento GROUP BY Nombre ORDER BY AVG(SueldoBasico) DESC
Uso de Subqueries
Un Subquery es una sentencia SELECT anidada dentro de otras sentencias SQL como SELECT, INSERT, UPDATE o DELETE, o dentro de otro Subquery. A una sentencia SELECT, que contiene uno o mas Subqueries, se la denomina Nested Query o SELECT anidado.
Conector
En / no en = / no = Existe / no existe >/< = / no = >=/<=
Operando derecho
Conjunto de elementos Conjunto Conjunto Conjunto de un elemento Conjunto de un elemento Conjunto de un elemento
>, <, =, no =, > =, Conjunto de elementos < = modificados con ANY o con ALL
Uso de Subqueries
Subqueries con el uso de la palabra IN: El resultado, es una lista de cero o mas valores. Una vez que el Subquery devuelve resultados, el Outer query los usa. (Con el uso de esta palabra se puede resolver el operador relacional de Interseccin)
Uso de Subqueries
Subqueries con el uso de las palabras NOT IN: El resultado, es una lista de cero o mas valores. Una vez que el Subquery devuelve resultados, el Outer query los usa por negacin. (Con el uso de esta palabra se puede resolver el operador relacional de Diferencia)
Uso de Subqueries
SELECT FROM WHERE NombreCompleto, SueldoBasico PERSONA, EMPLEADO IDPersona=IDEmpleado and IDEmpleado NOT IN (SELECT IDEmpleado FROM SANCIONES_EMPLEADO)
Uso de Subqueries
Subqueries con Operadores de comparacin. Son los subquerys que se introducen con algn operador de comparacin como =, <>, <, <=, >, >=, etc. Estos subqueries retornan un solo valor.
Uso de Subqueries
Operadores de comparacin modificados por ANY o ALL. Estos subqueries retornan cero o muchos valores.
> ALL, significa que todos los valores retornados por el subquery son menores al valor de comparacin del outer. > ANY, significa que por lo menos un valor retornado por el subquery es menor al valor de comparacin del outer.
Uso de Subqueries
Subqueries Correlativos. El Subquery depende del outer query para devolver sus valores. Esto significa que el Subquery se ejecuta repetidamente, una vez por cada fila seleccionada por el Outer query.
Uso de Subqueries
Subqueries Correlativos.
SELECT a.IDEmpleado, a.SueldoBasico FROM EMPLEADO a WHERE a.SueldoBasico >= (SELECT b.SueldoBasico FROM EMPLEADO b WHERE a.IDJefe = b.IDEmpleado ) Muestra cdigo y sueldo de los empleados cuyos sueldos son mayores o iguales a los sueldos de sus respectivos jefes
Operadores de UNION
A diferencia del SELECT, que por omisin conserva los duplicados, las operaciones de unin normalmente los suprimen. A fin de evitar esto, es necesario colocar a continuacin del operador UNION la palabra clave ALL
UNION
Todos los clientes que poseen una cuenta, un prstamo o ambos (SELECT FROM UNION (SELECT FROM nombre-cliente TITULAR-CUENTA) nombre-cliente PRESTATARIO)
Funciones de Agregacin
SUM([ALL|DISTINCT] expresin)
Calcula el total de una expresin numrica para todas las filas o slo las distintas.
AVG([ALL|DISTINCT] expresin)
Calcula el promedio de una expresin numrica para las filas involucradas.
MIN([ALL|DISTINCT] expresin)
Calcula el mnimo valor de una expresin numrica para las filas involucradas.
Funciones de Agregacin
MAX([ALL|DISTINCT] expresin)
Calcula el mximo valor de una expresin numrica para las filas involucradas.
COUNT([ALL|DISTINCT] expresin)
Nmero de veces que se repite el valor de la expresin.
COUNT(*)
Nmero de filas seleccionadas