Clausulas

Solo disponible en BuenasTareas
  • Páginas : 6 (1297 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de febrero de 2011
Leer documento completo
Vista previa del texto
CLAUSULAS
GROUP BY
Sirve para agrupar las consultas, no solo puede hacerse con un campo sino que
también se puede con dos… siendo el primero la primera agrupación y el segundo la
segunda:
GROUP BYempno,deptno
WHERE
Es quien te limita la consulta de un resultado de toda la tabla a las condiciones que tu
estás buscando:
Wheredeptno=20
HAVING
Lo mismo que el where pero esta se usa cuandose quiere poner la condición a algo
que tiene un a funcion::Having avg(sal)>30
ORDER BY
Sirve para ordenar las consultas (NO AGRUPAR). Una característica de esta es que
vaya acompañado por ASC o des con las cuales nos las ordenarían de menor a mayor
(ASC) o de mayor a menor (DESC).
*Para sacar datos como máximos y mínimos una posibilidad es usar esta función
convinada con Limit:
Selectnombre from persona
Group by nombre
Order bysal Desc
Limit 1....
Te devolvería el que más cobra… para el que menos en vez de
Desc ->Asc
LIMIT
Te limita los resultados a la cantidad que tu quieras
Where …. Limit 1; En este caso te devolvería un único valor
LIKE
Te permite buscar los resultados con el carácter que tu quieras….
Where … like ‘a%’…………..que empiece por a
Where … like‘%a’............. que acabe por a
Where ... like %’a’%.......... que tenga una a
IN
Te dice lo que hay dentro de una tabla…. Es una muy buena opción para no hacer
LeftJoin haciendo not in:
Select ename from emp
Where ename not in (select ename in dept); Te dice los tíos que no están en ningún
departamento
ANY
La palabra clave ANY , que debe seguir a un operador de comparación, significa
“returnTRUE si la comparación es TRUE para ANY (cualquiera) de los valores en la
columna que retorna la subconsulta

Ejm:SELECT s1 FROM t1 WHERE s1 > ANY (SELECT s1 FROM t2);
ALL
La palabraALL, que debe seguir a un operador de comparación, significa “return
TRUE si la comparación es TRUE para ALL todos los valores en la columna que retorna
la subconsulta.”
EXISTS
Si una subconsulta no retornaningún registro, entonces EXISTS subquery es TRUE, y
NOT EXISTS subquery es FALSE.
¿Qué clase de tienda hay en una o más ciudades?
SELECT DISTINCT store_type FROM Stores
WHERE EXISTS (SELECT * FROM Cities_Stores
WHERE Cities_Stores.store_type = Stores.store_type);

La cláusulaLIMIT puede ser usada para limitar a que el número de filas devuelto por
la sentenciaSELECT. LIMIT toma uno o dosargumentos numéricos, que deben ser
constantes enteras. Con dos argumentos, el primero especifica el desplazamiento de
la primera fila a devolver, el segundo especifica el máximo número de filas a devolver.
El desplazamiento de la fila inicial es 0 (no 1):
UPDATE
UPDATE actualiza columnas de filas existentes de una tabla con nuevos valores. La
cláusula SET indica las columnas a modificar ylos valores que deben tomar. Lacláusula WHERE, si se da, especifica qué filas deben ser actualizadas. Si no seespecifica, serán actualizadas todas ellas. Si se especifica la cláusula ORDER BY, lasfilas se modificarán en el orden especificado. La cláusula LIMIT establece un límite alnúmero de filas que se pueden actualizar.
La sentenciaUPDATE soporta los modificadores siguientes:

Si se usa lapalabra LOW_PRIORITY, la ejecución deUPD ATE se retrasará hasta
que no haya otros clientes haciendo lecturas de la tabla.

Si se especifica IGNORE, la sentenciaUPD ATE no se abortará si se producen
errores durante la actualización. Las filas con conflictos de claves duplicadas no
se actualizarán. Las filas para las que la actualización de columnas se puedan
producir errores de conversión seactualizarán con los valores válidos más
próximos.
El ejemplo muestra una fusión interna usando el operador coma, pero unUPD ATEmultitabla puede usar cualquier tipo de fusión (join) permitido en sentenciasSELEC T,como un LEFT JOIN.
Nota: no es posible usar ORDER BY o LIMIT conU PDATE multitabla.
Si se usa una sentenciaUPDATE multitabla que afecte a tablasInnoDB para las que
haya...
tracking img