Diferencia entre revisiones de «Cláusulas»

(Fuentes)
 
(No se muestran 7 ediciones intermedias de otro usuario)
Línea 4: Línea 4:
 
|tamaño=
 
|tamaño=
 
|concepto= Una cláusula es una disyunción de literales.
 
|concepto= Una cláusula es una disyunción de literales.
}}
+
}}'''Cláusula'''. Disyunción de literales. Se denomina cláusula conjuntiva a una [[conjunción]] de literales. En [[base de datos]] se proyecta de manera similar a las cláusulas que comúnmente se pueden ver en la [[lógica matemática]]. Estas no son más que condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular.
<div align="justify">
 
'''Cláusula'''. Una cláusula es una disyunción de literales.  
 
 
 
== Generalidades ==
 
En cálculo  proposicional, normalmente se escriben de la forma siguiente: l1v ...  vln, donde cada li, con i = {1,...,n} es un literal. De la misma manera,  se denomina cláusula conjuntiva a una conjunción de literales. En base de datos se proyecta de manera similar a las cláusulas que comúnmente podemos ver en la lógica matemática. Estas no son más que condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular.
 
  
 
== Clásusulas de SQL ==
 
== Clásusulas de SQL ==
Línea 15: Línea 10:
 
=== Cláusula FROM ===  
 
=== Cláusula FROM ===  
  
La cláusula FROM lista las tablas o ficheros que contienen los datos a recuperar por la [[consulta]]. El formato de esta cláusula es: ''FROM nombretabla [alias_tabla] ...''
+
La cláusula ''FROM'' lista las tablas o ficheros que contienen los datos a recuperar por la consulta. El formato de esta cláusula es: '''''FROM nombretabla [alias_tabla] ...'''''
* nombretabla: puede ser uno o más nombres de tabla en el directorio de trabajo si se omite este, o en un directorio distinto si se especifica.
+
 
* alias_tabla: es un nombre que se usa para referirse a la tabla en el resto de la sentencia SELECT para abreviar el nombre original y hacerlo más manejable, en el caso de existir más de una tabla en la consulta y, también para poder realizar consultas uniendo varias veces la misma tabla.
+
* ''nombretabla'': Puede ser uno o más nombres de tabla en el directorio de trabajo si se omite este, o en un directorio distinto si se especifica.
 +
* ''alias_tabla'': Nombre que se usa para referirse a la tabla en el resto de la sentencia ''SELECT'' para abreviar el nombre original y hacerlo más manejable. En el caso de existir más de una tabla en la consulta y, también para poder realizar consultas uniendo varias veces la misma tabla.
  
Las dos sentencias son idénticas y nos devolverían los nombres y apellidos del alumnado matriculado en el año [[1995]] y que figuran en el grupo 1A. El nombre de tablas junto al nombre de campo es obligatorio cuando existan campos con nombre idéntico en las tablas que formen parte de la sentencia. Así en el ejemplo anterior NOMBRE y APELLIDOS no lo necesitarían (aunque este puesto) pero MATRICULA si lo necesita porque en las dos tablas existe un [[campo]] con ese nombre. Si no se pudiera utilizar alias, no se podría unir una tabla consigo misma y la siguiente consulta no se podría llevar a cabo: ''SELECT A.NOMBRE, A.APELLIDOS, H.NOMBRE FROM ALUMNOS A, ALUMNOS H WHERE A.PADRE = H.PADRE'' que nos devolverá el nombre de aquellos alumnos/as que tienen el mismo padre, es decir, son hermanos.
+
El nombre de tablas junto al nombre de campo es obligatorio cuando existan campos con nombre idéntico en las tablas que formen parte de la sentencia. Si no se pudiera utilizar alias, no se podría unir una tabla consigo misma y la siguiente consulta no se podría llevar a cabo.
  
 
=== Cláusula WHERE ===
 
=== Cláusula WHERE ===
  
La cláusula WHERE dice a SQL que incluya solo ciertas filas o registros de datos en los resultados de la consulta, es decir, que tienen que cumplir los registros que se desean ver. La cláusula WHERE contiene condiciones en la forma: ''WHERE expresión1 operadorexpresion2''
+
La cláusula ''WHERE'' dice a [[SQL]] que incluya solo ciertas filas o registros de datos en los resultados de la consulta, es decir, que tienen que cumplir los registros que se desean ver.  
* expresión1 y expresion2: pueden ser nombres de campos, valores constantes o expresiones.
+
 
* operador: es un operador relacional que une dos expresiones. Más tarde se verán los distintos operadores que se puede utilizar.
+
La cláusula ''WHERE'' contiene condiciones en la forma: '''''WHERE expresión1 operador expresion2'''''
Por ejemplo, la siguiente sentencia nos muestra el nº de alumnos que han nacido con posterioridad a [[1985]].
+
* ''expresión1'' y ''expresion2'': Pueden ser nombres de campos, valores constantes o expresiones.
''SELECT COUNT(*) FROM ALUMNOS WHERE YEAR(FECHA_NACIMIENTO) > [[1985]]''
+
* ''operador'': Operador relacional que une dos expresiones. Más tarde se verán los distintos operadores que se puede utilizar.
  
 
=== Cláusula GROUP BY ===
 
=== Cláusula GROUP BY ===
  
La cláusula GROUP BY especifica una consulta sumaria. En vez de producir un fila de resultados por cada fila de datos de la base de datos, una consulta sumaria agrupa todas las filas similares y luego produce una fila sumaria de resultados para cada grupo. Seguido de la cláusula GROUP BY se especifican los nombres de uno o más campos cuyos resultados se desean agrupados. Tiene la forma: ''GROUP BY expresión_columna''
+
La cláusula ''GROUP BY'' especifica una consulta sumaria. En vez de producir un fila de resultados por cada fila de [[datos]] de la [[base de datos]], una consulta sumaria agrupa todas las filas similares y luego produce una fila sumaria de resultados para cada grupo. Seguido de la cláusula ''GROUP BY'' se especifican los nombres de uno o más campos cuyos resultados se desean agrupados. Tiene la forma: '''''GROUP BY expresión_columna'''''
  
* expresión_columna: debe coincidir con la expresión de columna utilizada en la cláusula SELECT. Puede ser uno o más nombres de campo de una tabla, separados por coma o una o más expresiones separadas por comas.
+
* ''expresión_columna'': Debe coincidir con la expresión de columna utilizada en la cláusula ''SELECT''. Puede ser uno o más nombres de campo de una tabla, separados por coma o una o más expresiones separadas por [[coma]]s.
El siguiente ejemplo nos dice cuantos alumnos están matriculados en cada grupo en el año [[1995]]: ''SELECT GRUPO, COUNT(*) FROM MATRICUL WHERE ANNO = [[1995]] GROUP BY GRUPO''
 
Esta sentencia nos devolverá una fila por cada grupo de alumnos. Cada una de ellas contendrá el grupo y el nº de alumnos en él.
 
  
 
=== Cláusula HAVING ===
 
=== Cláusula HAVING ===
  
La cláusula HAVING dice a [[SQL]] que incluya solo ciertos grupos producidos por la cláusula GROUP BY en los resultados de la consulta. Al igual que la cláusula WHERE, utiliza una condición de búsqueda para especificar los grupos deseados. En otras palabras, especifica la [[condición]] que deben de cumplir los grupos. Sólo es válida si previamente se ha especificado la cláusula GROUP BY. La cláusula HAVING tiene la forma:
+
La cláusula ''HAVING'' dice a [[SQL]] que incluya solo ciertos grupos producidos por la cláusula ''GROUP BY'' en los resultados de la consulta. Al igual que la cláusula ''WHERE'', utiliza una condición de búsqueda para especificar los grupos deseados. En otras palabras, especifica la condición que deben de cumplir los grupos. Sólo es válida si previamente se ha especificado la cláusula ''GROUP BY''. La cláusula ''HAVING'' tiene la forma:
''HAVING expresión1 operador expresión2''
+
'''''HAVING expresión1 operador expresión2'''''
 
 
* expresión1 y expresión2: pueden ser nombres de campos, valores constantes o expresiones y estas no deben coincidir con una expresión de columna en la cláusula SELECT.
 
* operador: es un operador relacional que une las dos expresiones. Más tarde se verán los distintos [[operadores]] que se puede utilizar.
 
  
La sentencia siguiente nos mostrará el número de alumnos en cada grupo de 1995 cuyo numero de integrantes supera los 30:
+
* ''expresión1'' y ''expresión2'': Pueden ser nombres de campos, valores constantes o expresiones y estas no deben coincidir con una expresión de columna en la cláusula ''SELECT''.
''SELECT GRUPO, COUNT(*) FROM MATRICUL WHERE ANNO = 1995 GROUP BY GRUPO HAVING COUNT(*) > 30''  
+
* ''operador'': Operador relacional que une las dos expresiones.
  
 
== Fuentes ==
 
== Fuentes ==
Línea 53: Línea 44:
  
  
[[Category:Ciencias_Aplicadas_y_Tecnologías]] [[Category:Informática]][[Category:Bases_de_datos]]
+
[[Category:Informática]][[Category:Bases_de_datos]]

última versión al 14:49 7 ago 2014

Cláusula
Información sobre la plantilla
Concepto:Una cláusula es una disyunción de literales.

Cláusula. Disyunción de literales. Se denomina cláusula conjuntiva a una conjunción de literales. En base de datos se proyecta de manera similar a las cláusulas que comúnmente se pueden ver en la lógica matemática. Estas no son más que condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular.

Clásusulas de SQL

Cláusula FROM

La cláusula FROM lista las tablas o ficheros que contienen los datos a recuperar por la consulta. El formato de esta cláusula es: FROM nombretabla [alias_tabla] ...

  • nombretabla: Puede ser uno o más nombres de tabla en el directorio de trabajo si se omite este, o en un directorio distinto si se especifica.
  • alias_tabla: Nombre que se usa para referirse a la tabla en el resto de la sentencia SELECT para abreviar el nombre original y hacerlo más manejable. En el caso de existir más de una tabla en la consulta y, también para poder realizar consultas uniendo varias veces la misma tabla.

El nombre de tablas junto al nombre de campo es obligatorio cuando existan campos con nombre idéntico en las tablas que formen parte de la sentencia. Si no se pudiera utilizar alias, no se podría unir una tabla consigo misma y la siguiente consulta no se podría llevar a cabo.

Cláusula WHERE

La cláusula WHERE dice a SQL que incluya solo ciertas filas o registros de datos en los resultados de la consulta, es decir, que tienen que cumplir los registros que se desean ver.

La cláusula WHERE contiene condiciones en la forma: WHERE expresión1 operador expresion2

  • expresión1 y expresion2: Pueden ser nombres de campos, valores constantes o expresiones.
  • operador: Operador relacional que une dos expresiones. Más tarde se verán los distintos operadores que se puede utilizar.

Cláusula GROUP BY

La cláusula GROUP BY especifica una consulta sumaria. En vez de producir un fila de resultados por cada fila de datos de la base de datos, una consulta sumaria agrupa todas las filas similares y luego produce una fila sumaria de resultados para cada grupo. Seguido de la cláusula GROUP BY se especifican los nombres de uno o más campos cuyos resultados se desean agrupados. Tiene la forma: GROUP BY expresión_columna

  • expresión_columna: Debe coincidir con la expresión de columna utilizada en la cláusula SELECT. Puede ser uno o más nombres de campo de una tabla, separados por coma o una o más expresiones separadas por comas.

Cláusula HAVING

La cláusula HAVING dice a SQL que incluya solo ciertos grupos producidos por la cláusula GROUP BY en los resultados de la consulta. Al igual que la cláusula WHERE, utiliza una condición de búsqueda para especificar los grupos deseados. En otras palabras, especifica la condición que deben de cumplir los grupos. Sólo es válida si previamente se ha especificado la cláusula GROUP BY. La cláusula HAVING tiene la forma: HAVING expresión1 operador expresión2

  • expresión1 y expresión2: Pueden ser nombres de campos, valores constantes o expresiones y estas no deben coincidir con una expresión de columna en la cláusula SELECT.
  • operador: Operador relacional que une las dos expresiones.

Fuentes