LIKE/ NOT LIKE Permite hacer una bsqueda basada en un patrn en vez de especificar exactamente lo que se desea (como en IN) o determinar un rango (como en BETWEEN). SELECT * FROM empleados where empleado_nombre like 'A%';
SELECT * FROM empleados where empleado_nombre not like 'A%';
EXIST EXISTS simplemente verifica si la consulta interna arroja alguna fila. Si lo hace, entonces la consulta externa procede. De no hacerlo, la consulta externa no se ejecuta, y la totalidad de la instruccin SQL no arroja nada. SELECT prestamo_valor_aut, prestamo_val_cuota,prestamo_n_cuotas,prestamo_fecha_emi,prestamo_fecha_ven, prestamos_n_cuotas_canc FROM prestamos where EXISTS (SELECT empleado_nombre FROM empleados where empleado_nombre = 'Carlos');
SELECT prestamo_valor_aut, prestamo_val_cuota,prestamo_n_cuotas,prestamo_fecha_emi,prestamo_fecha_ven, prestamos_n_cuotas_canc FROM prestamos where EXISTS (SELECT empleado_nombre FROM empleados where empleado_nombre = 'Julio');
NOT EXIST NOT EXISTS simplemente verifica si la consulta interna no arroja fila alguna. Si no lo hace, entonces la consulta externa procede. De no hacerlo, la consulta externa no se ejecuta, y la totalidad de la instruccin SQL no arroja nada.
SELECT prestamo_valor_aut, prestamo_val_cuota,prestamo_n_cuotas,prestamo_fecha_emi,prestamo_fecha_ven, prestamos_n_cuotas_canc FROM prestamos where NOT EXISTS (SELECT empleado_nombre FROM empleados where empleado_nombre = 'Carlos');
SELECT prestamo_valor_aut, prestamo_val_cuota,prestamo_n_cuotas,prestamo_fecha_emi,prestamo_fecha_ven, prestamos_n_cuotas_canc FROM prestamos where NOT EXISTS (SELECT empleado_nombre FROM empleados where empleado_nombre = 'Julio');
INNER JOIN El INNER JOIN es otro tipo de composicin de tablas, permite emparejar filas de distintas tablas de forma ms eficiente que con el producto cartesiano cuando una de las columnas de emparejamiento est indexada. Ya que en vez de hacer el producto cartesiano completo y luego seleccionar la filas que cumplen la condicin de emparejamiento, para cada fila de una de las tablas busca directamente en la otra tabla las filas que cumplen la condicin, con lo cual se emparejan slo las filas que luego aparecen en el resultado. SELECT empleado_nombre,empleado_apellido, prestamo_valor_aut, prestamo_val_cuota,prestamo_n_cuotas,prestamo_fecha_emi, prestamo_fecha_ven,prestamos_n_cuotas_canc FROM prestamos INNER JOIN empleados ON prestamos.empleado_id = empleados.empleado_id;
LEFT JOIN Esta operacin consiste en aadir al resultado del INNER JOIN las filas de la tabla de la izquierda que no tienen correspondencia en la otra tabla, y rellenar en esas filas los campos de la tabla de la derecha con valores nulos. SELECT empleado_nombre,empleado_apellido, prestamo_valor_aut, prestamo_val_cuota,prestamo_n_cuotas,prestamo_fecha_emi, prestamo_fecha_ven,prestamos_n_cuotas_canc FROM empleados LEFT JOIN prestamos ON prestamos.empleado_id = empleados.empleado_id;
RIGHT JOIN Esta operacin consiste en aadir al resultado del INNER JOIN las filas de la tabla de la derecha que no tienen correspondencia en la otra tabla, y rellenar en esas filas los campos de la tabla de la izquierda con valores nulos. SELECT empleado_nombre,empleado_apellido, departamento_nombre FROM empleados RIGHT JOIN departamentos ON departamentos.departamento_id = empleados.departamento_id;
UNION El propsito del comando SQL UNION es combinar los resultados de dos consultas juntas. En este sentido, UNION es parecido a Join, ya que los dos se utilizan para informacin relacionada en mltiples tablas. Una restriccin de UNION es que todas las columnas correspondientes necesitan ser del mismo tipo de datos. Tambin, cuando utilizamos UNION, slo se seleccionan valores distintos (similar a SELECT DISTINCT). SELECT prestamo_fecha_emi FROM prestamos UNION SELECT sobretiempo_fech_aut FROM sobretiempo
DISTINCT La palabra clave SELECT nos permite tomar toda la informacin de una columna (o columnas) en una tabla. Esto, obviamente, significa necesariamente que habr redundancias. Qu sucedera si slo deseamos seleccionar cada elemento DISTINCT? Esto es fcil de realizar en SQL. Todo lo que necesitamos hacer es agregar DISTINCT luego de SELECT.
SELECT DISTINCT empleados.cargo_id FROM empleados;
MIN SQL utiliza la funcin MIN para encontrar el valor mnimo de una columna. SELECT MIN(prestamo_valor_aut) as 'Prestamo Minimo' FROM prestamos;
MAX SQL utiliza la funcin MAX para encontrar el valor mximo de una columna. SELECT MAX(prestamo_valor_aut) as 'Prestamo Maxmino' FROM prestamos;
COUNT Nos permite obtener el nmero total de filas existentes en una determinada tabla. SELECT COUNT(empleado_apellido) as 'Numero de empleados' FROM empleados;
SUM La funcin SUM se utiliza para calcular el total para una columna. SELECT SUM(prestamo_valor_aut) as 'Total Prestamos' FROM prestamos;
ROUND Devuelve un valor numrico, redondeado a la longitud o precisin especificadas. SELECT ROUND(234.67,0) as 'Valor Redondeado';
MOD Devuelve el resto despus de dividir un nmero entre un divisor. El resultado siempre tiene el mismo signo que el divisor. SELECT 5 % 2 as 'Residuo';
TRIM Devuelve una expresin de caracteres tras quitar todos los espacios iniciales en blanco. SELECT LTRIM(' Lista de empleados') as 'Cadena sin espacios';
DECODE DECODE es una funcin de Oracle y se utiliza para proporcionar si-entonces-sino el tipo de lgica para SQL. No est disponible en MySQL o SQL Server. SELECT DECODE (Store_Name, 'Los Angeles', 'LA', 'San Francisco', 'SF', 'San Diego', 'SD', 'Others') Area, Sales, Txn_Date FROM Store_Information;
CASE WHEN Evala una lista de condiciones y devuelve una de las varias expresiones de resultado posibles.
La expresin CASE tiene dos formatos:
La expresin CASE sencilla compara una expresin con un conjunto de expresiones sencillas para determinar el resultado.
La expresin CASE buscada evala un conjunto de expresiones booleanas para determinar el resultado. Ambos formatos admiten un argumento ELSE opcional.
CASE se puede utilizar en cualquier instruccin o clusula que permite una expresin vlida. Por ejemplo, puede utilizar CASE en instrucciones como SELECT, UPDATE, DELETE y SET, y en clusulas como select_list, IN, WHERE, ORDER BY y HAVING. SELECT tipo_c_id, nombre = CASE tipo_c_id WHEN 1 THEN 'Ingresos' WHEN 2 THEN 'Egresos' ELSE 'Otros conceptos' END FROM tipo_concepto
TO_CHAR Convierte un cdigo ASCII int en un caracter. SELECT CHAR(134) as 'Conversion ASCII a CHAR'
TO_NUMBER Usted puede convertir un carcter o expresin que contiene un nmero en un valor de nmero real. Select to_number('1234.64') from Dual;
1234.64
TO_DATE La funcin TO_DATE se utiliza en Oracle para convertir una cadena en una fecha. SELECT TO_DATE('2005 120 05400', 'YYYY DDD SSSSS') FROM DUAL; 2005 04 30 01:30:00 IS NULL Sustituye el valor NULL por el valor especificado. SELECT empleados.empleado_nombre,empleados.empleado_nombre, ISNULL(empleados.empleado_telefono,0) FROM empleados
BETWEEN Permite la seleccin de un rango. SELECT * FROM prestamos where prestamo_fecha_emi BETWEEN '2014-06-01' AND '2014-06-30'
SUBSTR La funcin de subcadena en SQL se utiliza para tomar una parte de los datos almacenados. SELECT SUBSTRING('HOLA MUNDO',3,4)
LENGTH Devuelve el nmero de caracteres de la expresin de cadena especificada, excluidos los espacios en blanco finales. SELECT LEN('HOLA MUNDO') as 'Longitud de la Cadena'
INSTR La funcin INSTR en SQL se utiliza para encontrar la ubicacin inicial de un patrn en una cadena. SELECT INSTR (Store_Name, 'o') FROM Geography WHERE Store_Name = 'Los Angeles';
2
LOWER Devuelve una expresin de caracteres despus de convertir en minsculas los datos de caracteres en maysculas. SELECT LOWER('HOLA MUNDO') as 'Cadena en minusculas'
UPPER Devuelve una expresin de caracteres con datos de caracteres en minsculas convertidos a maysculas. SELECT UPPER('hola mundo') as 'Cadena en mayusculas'
INITCAP Devuelve la cadena con cada palabra empezando con mayscula y el resto en minsculas. Se considera que las palabras estn separadas por espacios o caracteres no alfanumricos. SELECT INITCAP('pepe perez') FROM DUAL; Pepe Perez
MONTHS_BETWEEN Devuelve el numero de meses entre dos fechas d1 y d2. si d1 es posterior a d2, el resultado es positivo; si es anterior el resultado es negativo. SELECT MONTHS_BETWEEN(TO_DATE('31/10/2007','DD/MM/YYYY'),TO_DATE('01/06/2007','D D/MM/YYYY')) FROM DUAL;
4,96774193548387
GROUP BY Agrupa un conjunto de filas seleccionado en un conjunto de filas de resumen de acuerdo con los valores de una o ms columnas o expresiones en SQL Server 2014. Se devuelve una fila para cada grupo. Las funciones de agregado de la lista <select> de la clusula SELECT proporcionan informacin de cada grupo en lugar de filas individuales. SELECT cargo_nombre, COUNT(*) as 'Numero de empleados por cargo' FROM empleados INNER JOIN cargos ON empleados.cargo_id = cargos.cargo_id GROUP BY(cargo_nombre);