SQL Streamline ascendente. Trabajando con base de datos

A menudo, existe la necesidad de generar el resultado de la consulta en un determinado orden, por ejemplo, de acuerdo con el alfabeto. Para hacer esto, en la DBMS hay una característica especial en el idioma SQL - Clasificación. En este caso, el programador puede elegir qué campos y en qué orden logrará lograr el resultado deseado, sin aplicar habilidades de programación graves.

¿Qué está clasificando en la base de datos?

Trabajar con bases de datos se relaciona constantemente con la gran cantidad de información a la que es necesario determinar el pedido. Actualmente, hay una serie de DBMS, que tienen una amplia gama de funciones, cuyas más populares son Oracle y MS SQL. Ordenar la información como uno de los procedimientos principales para trabajar con la base de datos, se proporciona una función especial incorporada en cada uno de ellos.

La clasificación de datos le permite simplificar el proceso de búsqueda, así como en algunos casos ayuda a resolver algunas tareas u optimizar el funcionamiento del programa. La clasificación de SQL se realiza de acuerdo con un campo seleccionado por separado, y si es necesario, si tiene los mismos valores en los elementos de este campo, puede especificar parámetros adicionales que determinan la ubicación de las filas.

Ordenar equipo

La clasificación de SQL en la base de datos se proporciona utilizando el orden por función. Por lo tanto, cuando se muestre información de la base de datos, después de especificar columnas y tablas de las cuales se leerá, debe especificar el comando de clasificación, después de lo cual es necesario determinar el campo o los campos mediante la cual se realizará la clasificación.

Por ejemplo, si necesita recibir datos del nombre y los campos de edad de la tabla de personas, al tiempo que interrumpe el resultado en orden alfabético a través de la columna Nombre, ayudará a realizar la siguiente consulta: Seleccione NOMBRE, EDAD DE PERSONAS PERSONAS POR NOMBRE.

¿Cómo configurar el orden de clasificación?

Las condiciones modernas establecen varias tareas antes de los programadores, y a veces es necesario predeterminar, ¿en qué orden se derivará el resultado? Descendente o ascendente, alfabéticamente o en orden inverso? Y para esto, en el idioma SQL, el orden de clasificación se determina agregando una palabra clave a la solicitud. Después de seleccionar los campos y las tablas, desde las cuales se recibirá la información deseada, debe agregar orden, después de lo cual especifique el nombre de la columna para la que es necesario ordenar.

Para obtener el orden inverso, debe especificar el parámetro DESC después del nombre. Si se opone a los elementos necesarios en dos o más criterios, las columnas están indicadas por coma, y \u200b\u200bla prioridad en la clasificación se dará al campo que se realiza en la primera lista. Vale la pena señalar que los elementos de construcción en el orden inverso, el parámetro DESC proporciona solo un campo, después de lo cual se especifica esta palabra clave, por lo que si es necesario, debe especificar en todas las columnas seleccionadas.

Métodos de clasificación alternativos

En ausencia de la capacidad de usar la función de clasificación SQL incorporada, puede escribir uno de los algoritmos conocidos. Si es necesario lograr el rápido ordenamiento de los elementos, es necesario aplicar el método basado en la matriz de elementos de inquietud. Los métodos de clasificación "Bubble" también poseen una gran popularidad, en los que dos elementos adyacentes están cambiando en lugares en caso de una ubicación incorrecta, "Clasificación piramidal", enviando el elemento más grande al final de la lista, así como "Clasificación de inserciones ", que predetertan la ubicación de cada elemento a su vez.

Sin embargo, la escritura personalmente del algoritmo no aumentará significativamente la velocidad de clasificación, contribuye al desarrollo de las habilidades de programación, y también permitirá modificar el proceso configurando un esquema de clasificación para una base de datos específica para mejorar la eficiencia del programa.

Oferta por oferta en los registros de ordenación de acceso devueltos por la solicitud, ascendiendo o descendiendo los valores del campo especificado (campos).

Sintaxis

SELECCIONE list_pole
De. mesa
Dónde. condicies_Tealth
[, campo2. ][, ...]]]

Seleccionar instrucciones que contienen orden por propuesta incluye los siguientes elementos:

Comentarios

El pedido por orden por no es obligatorio. Debe usarse cuando sea necesario mostrar datos en forma ordenada.

De forma predeterminada, se aplica el orden de clasificación ascendente (de A a Z, de 0 a 9). En los dos ejemplos a continuación, se muestra que ordena los nombres de los empleados por apellido.

Seleccionar apellido, primer nombre
De los empleados.
Orden por último nombre;
Seleccionar apellido, primer nombre
De los empleados.
Orden por último nombre ASC;

Para ordenar descendente (desde I hasta A, de 9 a 0), agregue una palabra DESC reservada al final de cada campo al que desea ordenar los registros. En el siguiente ejemplo, se realiza la clasificación de los nombres de los empleados en orden descendente de salarios.

Seleccionar apellido, salario
De los empleados.
Orden por salario desc, apellido;

Si está en el orden por oración, especifique un campo que contiene datos de tipo de memo o objetos OLE, se producirá un error. El núcleo DBMS de Microsoft Access no admite la clasificación a través de los campos de estos tipos.

El pedido por propuesta suele ser el último elemento en la instrucción SQL.

La oferta de la Orden BA puede incluir campos adicionales. Primero, los registros están ordenados por el campo indicado en el pedido por la primera oración. Luego, para entradas con los mismos valores del primer campo, clasificando sobre el campo indicado por el segundo, etc.


Ciclo siguiente:

Paso 8. Clasificación simple

Si el resultado de su consulta de SQL debe ser el material de origen de un determinado informe, la cuestión de la clasificación de datos en ella se vuelve extremadamente importante, ya que una persona que lee el informe firme adecuadamente es muy difícil encontrar rápidamente en ella la parte necesaria de su información. . Para ordenar los datos en las columnas de resultados de la consulta (en nuestro caso, en los campos de la tabla), la palabra clave de pedido se usa en SQL. Un ejemplo de la clasificación más simple se muestra a continuación. Una solicitud del Paso 2 se toma como base: "Solicitud con un criterio de selección simple". Ordenamos a los empleados por el campo S_NAME (nombre completo).

Seleccione S_NAME, S_EXPERIENCIA DE D_STAFF DONDE S_EXPERIENCIA

Ordene el resultado SQL Query One Field.

Paso 9. Clasificación compleja.

A menudo, e incluso casi siempre es necesario ordenar los datos por más de una columna y no siempre está en orden ascendente. SINTAX SQL sugiere después de la orden de la palabra clave por la lista de columnas separadas por el punto y coma, así como el método de clasificación para cada columna: en orden ascendente de valores - ASC o el orden de su disminución. En el siguiente ejemplo, ya mostramos registros sobre todos los empleados en orden descendente de su experiencia. Empleados con la misma experiencia que ordenamos en orden alfabético.

Seleccione S_Experience, S_Name de D_STAFF Pedido por S_Experience Desc, S_Name Asc


Ordenar el resultado de la consulta SQL en dos campos.

Muy a menudo, el orden inverso de clasificación se utiliza con columnas de tipo [FECHA]. Si la fecha en que se almacena, por ejemplo, la fecha de la información de la información, entonces cuando la clasificación inversa, al principio de la lista, hay esos registros que se han agregado recientemente en relación con el resto. En el caso de que la solicitud recupere los anuncios de noticias de la base de datos, obtenemos una lista de anuncios ordenados en orden descendente de su relevancia, lo que puede ser extremadamente útil porque generalmente está leyendo los anuncios de arriba a abajo, y no todos los muestran En los sitios de noticias, pero solo unos cuantos más "frescos".

En el futuro, es posible que tengamos que ordenar nuestra muestra, en orden alfabético para texto o ascendente / descendente, para valores digitales. Para tales fines en Sql Hay un operador especial Ordenar por. .

1. Ordene los datos seleccionados.

Mantengamos toda nuestra tabla al ordenar la cantidad de ventas de productos, a saber, en la columna Monto..

SELECCIONE * De SumProduct Order por Cantidad

Vemos que la solicitud tiene registros importados ascendiendo en el campo. Monto.. Asegúrese de seguir la secuencia de operadores, es decir, operador Ordenar por. Debe ir al final de la solicitud. De lo contrario, se recibirá un mensaje de error.

También característica del operador. Ordenar por. Es que puede ordenar los datos en el campo que no elegimos en la solicitud, es decir, es suficiente para que esté en la base de datos.

2. Ordenar por campos múltiples.

Ahora conectaré nuestro ejemplo adicionalmente en otro campo. Deja que sea un campo Ciudad.que muestra el lugar de venta de productos.

SELECCIONE * De SumProduct Orden por cantidad, ciudad

El orden de clasificación dependerá del orden de la ubicación del campo en la consulta. Es decir, en nuestro caso, primero los datos se ordenarán por columna Monto.y entonces Ciudad..

3. Dirección de clasificación.

A pesar de que el operador predeterminado Ordenar por. Ordenar ascendiendo, también podemos registrar valores de clasificación descendentes. Para hacer esto, al final de cada campo, ponemos al operador. Desc. (que es una reducción de la palabra Descendiendo).

SELECCIONE * De SumProduct Order por Monto Desc, City

En este ejemplo, el valor en el campo. Monto. fueron despedidos, y en el campo Ciudad. - Ascendente. Operador Desc. Se aplica solo para una columna, por lo que si es necesario, debe prescribirse después de cada campo que participa en la clasificación.