Sentencias basicas para una base de datos

Solo disponible en BuenasTareas
  • Páginas : 7 (1566 palabras )
  • Descarga(s) : 7
  • Publicado : 17 de mayo de 2009
Leer documento completo
Vista previa del texto
GROUP BY
Ahora regresamos a las funciones de agregados. ¿Recuerda que utilizamos la palabra clave SUM para calcular las ventas totales para todos los negocios? ¿Y si quisiéramos calcular el total de ventas para cada negocio? Entonces, necesitamos hacer dos cosas: Primero, necesitamos asegurarnos de que hayamos seleccionado el nombre del negocio así como también las ventas totales. Segundo,debemos asegurarnos de que todas las sumas de las ventas estén GROUP BY negocios. La sintaxis SQL correspondiente es,
SELECT "nombre1_columna", SUM("nombre2_columna")
FROM "nombre_tabla"
GROUP BY "nombre1-columna"
Ilustremos utilizando la siguiente tabla,
Tabla Store_Information
store_name Sales Date
Los Angeles 1500 € 05-Jan-1999
San Diego 250 € 07-Jan-1999
Los Angeles 300 € 08-Jan-1999Boston 700 € 08-Jan-1999
Deseamos saber las ventas totales para cada negocio. Para hacerlo, ingresaríamos,
SELECT store_name, SUM(Sales)
FROM Store_Information
GROUP BY store_name
Resultado:
store_name SUM(Sales)
Los Angeles 1800 €
San Diego 250 €
Boston> 700 €
La palabra clave GROUP BY se utiliza cuando estamos seleccionado columnas múltiples desde una tabla (o tablas) y aparece al menos unoperador aritmético en la instrucción SELECT. Cuando esto sucede, necesitamos GROUP BY todas las otras columnas seleccionadas, es decir, todas las columnas excepto aquella(s) que se operan por un operador aritmético.

ORDER BY
Hasta ahora, hemos visto cómo obtener datos de una tabla utilizando los comandos SELECT y WHERE. Con frecuencia, sin embargo, necesitamos enumerar el resultado en unorden particular. Esto podría ser en orden ascendente, en orden descendente, o podría basarse en valores numéricos o de texto. En tales casos, podemos utilizar la palabra clave ORDER BY para alcanzar nuestra meta.
La sintaxis para una instrucción ORDER BY es la siguiente:
SELECT "nombre_columna"
FROM "nombre_tabla"
[WHERE "condición"]
ORDER BY "nombre_columna" [ASC, DESC]
[] significa que lainstrucción WHERE es opcional. Sin embargo, si existe una cláusula WHERE, viene antes de la cláusula ORDER BY ASC significa que los resultados se mostrarán en orden ascendente, y DESC significa que los resultados se mostrarán en orden descendente. Si no se especifica ninguno, la configuración predeterminada es ASC.
Es posible ordenar por más de una columna. En este caso, la cláusula ORDERBYanterior se convierte en
ORDER BY "nombre1_columna" [ASC, DESC], "nombre2_columna" [ASC, DESC]
Suponiendo que elegimos un orden ascendente para ambas columnas, el resultado se clasificará en orden ascendente según la columna 1. Si hay una relación para el valor de la columna 1, se clasificará en orden ascendente según la columna 2.
Por ejemplo, podríamos desear enumerar los contenidos de la TablaStore_Information según la suma en dólares, en orden descendente:
Tabla Store_Information
store_name Sales Date
Los Angeles 1500 € 05-Jan-1999
San Diego 250 € 07-Jan-1999
San Francisco 300 € 08-Jan-1999
Boston 700 € 08-Jan-1999

Ingresamos :
SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY Sales DESC

Resultado:
store_name Sales Date
Los Angeles 1500 € 05-Jan-1999
Boston700 € 08-Jan-1999
San Francisco 300 € 08-Jan-1999
San Diego 250 € 07-Jan-1999
Además del nombre de la columna, podríamos utilizar la posición de la columna (según la consulta SQL) para indicar en qué columna deseamos aplicar la cláusula ORDER BY. La primera columna es 1, y la segunda columna es 2, y así sucesivamente. En el ejemplo anterior, alcanzaremos los mismos resultados con el siguientecomando:
SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY 2 DESC
CONCLUSION:
Para póder enumerar en orden ascendente, en orden descendente, o podría basarse en valores numéricos o de texto. Para eso se utiliza esta función, para poder aplicar la función de esta sentencia tenemos que poner el nombre de la función ORDER BY nombre_ columna y entre corchetes como quiere que...
tracking img