ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO
FACULTAD: CIENCIAS
ESCUELA: FÍSICA Y MATEMÁTICAS
CARRERRA: ING. ESTADÍSTICA INFORMÁTICA
ASIGNATURA: LENGUAJES DE PROGRAMACIÓN
ESTUDIANTE: MARCO ANTONIO OROZCO BRITO
CÓDIGO: 644
FECHA: 01/02/2017
TEMA: OPERADORES Y CLAUSULAS EN BASE DE DATOS EN SQL
INTRODUCCION: Una base de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto, se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos. Los operadores describen cómo SQL Server ejecuta una consulta o una instrucción DML (Lenguaje de manipulación de datos). El optimizador de consultas usa operadores para generar un plan de consulta con el fin de crear el resultado especificado en la consulta o para realizar la operación especificada en la instrucción DML. El plan de consulta es un árbol que consta de operadores físicos. Puede ver el plan de consulta mediante las instrucciones SET SHOWPLAN, las opciones gráficas del plan de ejecución de SQL Server Management Studioo las clases de eventos Showplan de SQL Server Profiler.
OBJETIVOS: 1.1
ESPECIFICOS
Conocer los diferentes tipos de operadores que existen en lenguaje SQL. Analizar y aprender acerca de las diferentes estructuras de cada uno de los operadores y su sintaxis.
2. MARCO TEÓRICO: OPERADORES DE COMPARACION Los operadores de comparación comprueban si dos expresiones son iguales. Se pueden usar en todas las expresiones, excepto en las de los tipos de datos text, ntext o image. En la siguiente tabla se presentan los operadores de comparación Transact-SQL. Operador
Significado
= (Es igual a)
Igual a
> (Mayor que)
Mayor que
< (Menor que)
Menor que
>= (Mayor o igual a)
Mayor o igual que
<= (Menor o igual a)
Menor o igual que
<> (No es igual a)
No es igual a
! = (No es igual a)
No es igual a (no es del estándar ISO)
! < (No menor que)
No es menor que (no es del estándar ISO)
!> (no mayor que)
No es mayor que (no es del estándar ISO)
Características de las comparaciones: Dos cadenas son estrictamente iguales cuando tienen la misma secuencia de caracteres, la misma longitud y los mismos caracteres en las posiciones correspondientes. Dos números son estrictamente iguales cuando son numéricamente iguales (tienen el mismo valor numérico). NaN no es igual a nada, incluido NaN. Los ceros positivos y negativos son iguales entre sí. Dos operandos booleanos son estrictamente iguales si ambos son true o ambos son false. Dos objetos distintos nunca son iguales para comparaciones estrictas o abstractas. Una expresión que compara objetos solo es verdadera si los operandos hacen referencia al mismo objeto. Los tipos Null y Undefined son estrictamente iguales a ellos mismos y abstractivamente iguales entre sí. Operadores de igualdad Igualdad (==) El operador de igualdad convierte los operandos si no son del mismo tipo, luego aplica una comparación estricta. Si ambos operandos son objetos, entonces JavaScript compara las referencias internas que son iguales cuando los operandos se refieren al mismo objeto en la memoria. Sintaxis X==Y
¡Desigualdad (! =) El operador de desigualdad devuelve verdadero si los operandos no son iguales. Si los dos operandos no son del mismo tipo, JavaScript intenta convertir los operandos a un tipo apropiado para la comparación. Si ambos operandos son objetos, entonces JavaScript compara las referencias internas que no son iguales cuando los operandos se refieren a diferentes objetos en la memoria. Sintaxis X! =y
Identidad / igualdad estricta (===) El operador de identidad devuelve verdadero si los operandos son estrictamente iguales (ver arriba) sin conversión de tipo. Sintaxis X === y
Sin identidad / desigualdad estricta (! ==) El operador sin identidad devuelve verdadero si los operandos no son iguales y / o no del mismo tipo. Sintaxis X! ==y
Operadores relacionales
Cada uno de estos operadores llamará a la función valueOf () en cada operando antes de realizar una comparación. Operador mayor que (>)
El operador mayor que, devuelve verdadero si el operando izquierdo es mayor que el operando derecho. Sintaxis X>Y
Operador mayor o igual (>=)
El operador mayor o igual que, devuelve verdadero si el operando izquierdo es mayor o igual que el operando derecho. Sintaxis X>=Y Operador menor que (<)
El operador menor que devuelve verdadero si el operando de la izquierda es menor que el operando de la derecha. Sintaxis X
El operador menor o igual devuelve verdadero si el operando izquierdo es menor o igual que el operando derecho. Sintaxis
X <=
OPERADORES LÓGICOS Los operadores lógicos nos proporcionan un resultado a partir de que se cumpla o no una cierta condición. Esto genera una serie de valores que, en los casos más sencillos, pueden ser parametrizados con los valores numéricos 0 y 1. La combinación de dos o más operadores lógicos conforma una función lógica. Los operadores más complejos se construyen a partir de los anteriores (podría incluirse alguno más) y ya entran dentro de lo que sería una función lógica. Los operadores lógicos sirven para combinar condiciones. En Access2000 una condición puede tomar tres valores TRUE (verdadero), FALSE (falso) o NULL (nulo), por lo tanto, el resultado de los operadores lógicos también será true, false o null. Los operadores lógicos comprueban la veracidad de alguna condición. Al igual que los operadores de comparación, devuelven el tipo de datos Boolean con el valor TRUE, FALSE o UNKNOWN.
Operador
Significado
ALL
TRUE si el conjunto completo de comparaciones es TRUE.
AND
TRUE si ambas expresiones booleanas son TRUE.
ANY
TRUE si cualquier miembro del conjunto de comparaciones es TRUE.
BETWEEN
TRUE si el operando está dentro de un intervalo.
EXISTS
TRUE si una subconsulta contiene cualquiera de las filas.
IN
TRUE si el operando es igual a uno de la lista de expresiones.
LIKE
TRUE si el operando coincide con un patrón.
NOT
Invierte el valor de cualquier otro operador booleano.
O BIEN
TRUE si cualquiera de las dos expresiones booleanas es TRUE.
SOME
TRUE si alguna de las comparaciones de un conjunto es TRUE.
FUNCION MAX Devuelve el valor máximo de la expresión. Sintaxis MAX ([ ALL | DISTINCT] expression) OVER ([ partition_by_clause] order_by_clause)
Argumentos
ALL Aplica la función de agregado a todos los valores. ALL es el valor predeterminado. DISTINCT Especifica que se tiene en cuenta cada valor único. DISTINCT no tiene ningún significado con MAX y solo se incluye para la compatibilidad con ISO.
expression Se trata de una constante, nombre de columna o función y cualquier combinación de operadores aritméticos, bit a bit y de cadena. MAX se puede usar con columnas numeric, character, uniqueidentifier y datetime, pero no con columnas bits. No se permiten funciones de agregado ni subconsultas. Tipos devueltos Devuelve un valor igual a expression. Notas MAX pasa por alto los valores NULL. Para las columnas de caracteres, MAX busca el valor más alto de la secuencia de intercalación. MAX es una función determinista cuando se utiliza sin las cláusulas OVER y ORDER BY. Es no determinista si se especifica con las cláusulas OVER y ORDER BY.
FUNCION MIN Devuelve el valor mínimo de la expresión. Puede ir seguida de la cláusula OVER. Sintaxis MIN ([ ALL | DISTINCT] expression) OVER ([ partition_by_clause] order_by_clause) Argumentos ALL Aplica la función de agregado a todos los valores. ALL es el valor predeterminado. DISTINCT Especifica que se tiene en cuenta cada valor único. DISTINCT no tiene ningún significado con MIN y solo se incluye para la compatibilidad con ISO. expression Se trata de una constante, nombre de columna o función y cualquier combinación de operadores aritméticos, bit a bit y de cadena. MIN se puede usar con columnas de tipo numeric, char, varchar, uniqueidentifier o datetime, pero no con columnas de tipo bit. No se permiten funciones de agregado ni subconsultas. Tipos devueltos Devuelve un valor igual a expression. Comentarios MIN pasa por alto los valores NULL. En el caso de columnas de datos de caracteres, MIN busca el valor más bajo en la secuencia de ordenación. MIN es una función determinista cuando se utiliza sin las cláusulas OVER y ORDER BY. Es no determinista si se especifica con las cláusulas OVER y ORDER BY. Notas MIN pasa por alto los valores NULL. En el caso de columnas de datos de caracteres, MIN busca el valor más bajo en la secuencia de ordenación. MIN es una función determinista cuando se utiliza sin las cláusulas OVER y ORDER BY. Es no determinista si se especifica con las cláusulas OVER y ORDER BY
FUNCION COUNT
Calcula el número de registros devueltos por una consulta. Su sintaxis es la siguiente: Count(expr)
En donde expr contiene el nombre del campo que desea contar. Los operandos de expr pueden incluir el nombre de un campo de una tabla, una constante o una función (la cual puede ser intrínseca o definida por el usuario, pero no otras de las funciones agregadas de SQL). Puede contar cualquier tipo de datos incluso texto. Aunque expr puede realizar un cálculo sobre un campo, Count simplemente cuenta el número de registros sin tener en cuenta qué valores se almacenan en los registros. La función Count no cuenta los registros que tienen campos null a menos que expr sea el carácter comodín asterisco (*). Si utiliza un asterisco, Count calcula el número total de registros, incluyendo aquellos que contienen campos null. Count(*) es considerablemente más rápida que Count(Campo). No se debe poner el asterisco entre dobles comillas ('*'). SELECT Count(*) AS Total FROM Pedidos; Si expr identifica a múltiples campos, la función Count cuenta un registro sólo si al menos uno de los campos no es Null. Si todos los campos especificados son Null, no se cuenta el registro. Hay que separar los nombres de los campos con ampersand (&). SELECT Count(FechaEnvío & Transporte) AS Total FROM Pedidos;
FUNCION AVG Calcula la media aritmética de un conjunto de valores contenidos en un campo especificado de una consulta. Su sintaxis es la siguiente: Avg(expr) En donde expr representa el campo que contiene los datos numéricos para los que se desea calcular la media o una expresión que realiza un cálculo utilizando los datos de dicho campo. La media calculada por Avg es la media aritmética (la suma de los valores dividido por el número de valores). La función Avg no incluye ningún campo Null en el cálculo.
SELECT Avg (Gastos) AS Promedio FROM Pedidos WHERE Gastos > 100; Principio del formulario
FUNCION SUM Devuelve la suma del conjunto de valores contenido en un campo especifico de una consulta. Su sintaxis es: Sum(expr) En donde expr respresenta el nombre del campo que contiene los datos que desean sumarse o una expresión que realiza un cálculo utilizando los datos de dichos campos. Los operandos de expr pueden incluir el nombre de un campo de una tabla, una constante o una función (la cual puede ser intrínseca o definida por el usuario, pero no otras de las funciones agregadas de SQL).
SELECT Sum (PrecioUnidad * Cantidad) AS Total FROM DetallePedido;
CLAUSULAS GROUP BY, HAVING, ORDER BY Combina los registros con valores idénticos, en la lista de campos especificados, en un único registro. Para cada registro se crea un valor sumario si se incluye una función SQL agregada, como por ejemplo Sum o Count, en la instrucción SELECT. Su sintaxis es: SELECTcampos FROM tabla WHERE criterio GROUP BY campos del grupo
GROUP BY es opcional. Los valores de resumen se omiten si no existe una función SQL agregada en la instrucción SELECT. Los valores Null en los campos GROUP BY se agrupan y no se omiten. No obstante, los valores Null no se evalúan en ninguna de las funciones SQL agregadas.
Se utiliza la cláusula WHERE para excluir aquellas filas que no desea agrupar, y la cláusula HAVING para filtrar los registros una vez agrupados.
A menos que contenga un dato Memo u Objeto OLE, un campo de la lista de campos GROUP BY puede referirse a cualquier campo de las tablas que aparecen en la cláusula FROM, incluso si el campo no está incluido en la instrucción SELECT, siempre y cuando la instrucción SELECT incluya al menos una función SQL agregada.
Todos los campos de la lista de campos de SELECT deben o bien incluirse en la cláusula GROUP BY o como argumentos de una función SQL agregada.
SELECT Id_Familia, Sum (Stock)FROM Productos GROUP BY Id_Familia;
Una vez que GROUP BY ha combinado los registros, HAVING muestra cualquier registro agrupado por la cláusula GROUP BY que satisfaga las condiciones de la cláusula HAVING. HAVING es similar a WHERE, determina qué registros se seleccionan. Una vez que los registros se han agrupado utilizando GROUP BY, HAVING determina cuales de ellos se van a mostrar.
SELECT Id_Familia Sum (Stock) FROM Productos GROUP BY Id_Familia HAVINGSum (Stock) > 100 AND NombreProducto Like BOS*;
CONCLUSIONES: Los operadores de comparación sirven para comparar entre uno o varias variables de nuestra base de datos. Los group by agrupa los registros de las bases de datos.
RECOMENDACIONES: Se recomienda la realización de ejercicios para el mejor entendimiento de cada una de las funciones y operadores lógicos para que con ello se pueda aprende la sintaxis de cada una de ellas.
BIBLIOGRAFIA: Arellano, J.(06 de12 de 2012). Sofware parala enseñanza y aprendizaje de algoritmos estructurados. Obtenido de Sofware para la enseñanza y aprendizaje de algoritmos estructurados: https://www.academia.edu/2960749/Software_para_la_enseñanzaaprendizaje_de_algoritmos_estructurados Arrieta, H. (22 de junio de 2014). Monografias. Obtenido de Monografias: http://www.monografias.com/trabajos67/software-aplicacion/softwareaplicacion2.shtml Gibson, J. (2009). Organizadores: comportamiento, estructura, procesos. Mexico: Ecuatran S.A. Lata, P. (11 de septiembre de 2010). Programacion Java. Obtenido de Programacion Java