Lenguaje de consulta estructurado - SQL: historia, estándares, operadores básicos del lenguaje. Propósito del lenguaje SQL. Operadores de manipulación de datos

El lenguaje de consulta estructurado SQL se basa en cálculo relacional con tuplas variables. El lenguaje SQL está diseñado para realizar operaciones en tablas, crear, eliminar, cambiar estructura y en datos de tablas, seleccionar, cambiar, agregar y eliminar, así como algunas operaciones relacionadas. SQL es un lenguaje no procesal y no contiene declaraciones de control para organizar rutinas, entradas, salidas, etc.


Comparte tu trabajo en las redes sociales.

Si esta obra no le conviene, al final de la página hay una lista de obras similares. También puedes utilizar el botón de búsqueda.


Lenguaje de consulta estructurado SQL: historia, estándares,

Operadores de lenguaje básico.

El lenguaje de consulta estructurado SQL se basa en cálculo relacional con tuplas variables. El idioma tiene varios estándares. El lenguaje SQL está diseñado para realizar operaciones en tablas (crear, eliminar, cambiar la estructura) y en datos de la tabla (seleccionar, modificar, agregar y eliminar), así como algunas operaciones relacionadas. SQL es un lenguaje no procesal y no contiene declaraciones de control, organización de subrutinas, entrada-salida, etc. En este sentido, SQL no se utiliza de forma autónoma; generalmente se encuentra inmerso en el entorno del lenguaje de programación DBMS integrado (por ejemplo, FoxPro DBMS Visual FoxPro, ObjectPAL DBMS Paradox, Visual Basic for Applications DBMS Access).

En los DBMS modernos con una interfaz interactiva, puede crear consultas utilizando otras herramientas, como QBE. Sin embargo, el uso de SQL a menudo puede mejorar la eficiencia del procesamiento de datos en la base de datos. Por ejemplo, al preparar una consulta en el entorno de Access, puede pasar de la ventana del Generador de consultas (que formula una consulta de muestra en el lenguaje QBE) a una ventana con la instrucción SQL equivalente. En algunos casos, preparar una nueva consulta editando una existente es más fácil cambiando la declaración SQL. La composición de las declaraciones SQL puede diferir ligeramente en diferentes DBMS. El lenguaje SQL no tiene las funciones de un lenguaje de desarrollo completo, pero está enfocado al acceso a datos, por lo que se incluye en las herramientas de desarrollo de programas. En este caso se llama SQL incorporado. El estándar del lenguaje SQL está respaldado por implementaciones modernas de los siguientes lenguajes de programación: PL/1, Ada, C, COBOL, Fortran, MUMPS y Pascal.

En los sistemas de desarrollo de aplicaciones especializados del tipo cliente-servidor, el entorno de programación suele complementarse además con herramientas de comunicación (establecimiento y desconexión de conexiones con servidores de bases de datos, detección y procesamiento de errores que ocurren en la red, etc.), herramientas para desarrollar Interfaces de usuario, herramientas de diseño y depuración. Hay dos métodos principales para utilizar SQL incorporado: estático y dinámico. Cuando se utiliza un lenguaje de forma estática (SQL estático), el texto del programa contiene llamadas a funciones del lenguaje SQL, que se incluyen rígidamente en el módulo ejecutable después de la compilación.

Los cambios en las funciones llamadas pueden realizarse al nivel de parámetros de llamada individuales utilizando variables del lenguaje de programación. Cuando se utiliza el lenguaje dinámicamente (SQL dinámico), se supone que las llamadas a funciones SQL se construyen dinámicamente y la interpretación de estas llamadas, por ejemplo, accediendo a datos desde una base de datos remota, durante la ejecución del programa. El método dinámico se suele utilizar en los casos en los que la aplicación no conoce de antemano el tipo de llamada SQL y se construye en diálogo con el usuario. El objetivo principal del lenguaje SQL (así como de otros lenguajes para trabajar con bases de datos) es preparar y ejecutar consultas. La recuperación de datos de una o más tablas puede generar un conjunto de registros denominado vista. Una vista es esencialmente una tabla que se genera como resultado de una consulta. Podemos decir que es un tipo de consulta almacenada. Puede crear varias vistas utilizando las mismas tablas. La vista en sí se describe especificando el identificador de vista y la solicitud que se debe realizar para obtenerla.

Para facilitar el trabajo con vistas, se ha introducido el concepto de cursor en el lenguaje SQL. Un cursor es una especie de puntero que se utiliza para desplazarse por conjuntos de registros mientras los procesa. La descripción y uso de un cursor en SQL es la siguiente. En la parte descriptiva del programa, una variable de tipo cursor (CURSOR) está asociada a una sentencia SQL (normalmente una sentencia SELECT). En la parte de ejecución del programa, el cursor se abre (OPEN<имя курсора>), moviendo el cursor a través de registros (FETCH<имя курсора>...), seguido del procesamiento adecuado y finalmente cerrando el cursor (CLOSE<имя курсора>).

Operadores de lenguaje básico

Describamos un subconjunto mínimo del lenguaje SQL, basado en su implementación en la interfaz estándar ODBC (Open Database Connectivity) de Microsoft. Los operadores del lenguaje SQL se pueden dividir en dos sublenguajes: lenguaje de definición de datos (DDL) y lenguaje de manipulación de datos (DML). Los principales operadores del lenguaje SQL se presentan en la tabla.

Consideremos el formato y las capacidades básicas de los operadores más importantes, con la excepción de operadores específicos marcados en la tabla con el símbolo “*”. Omitiremos operandos y elementos de sintaxis sin importancia (por ejemplo, la regla adoptada en muchos sistemas de programación de poner “;” al final del operador).

1. Operador creando una tablatiene el formato:

CREAR MESA<имя таблицы>

(<имя столбца> <тип данных>

[,<имя столбца> <тип данных> ]...)

Los operandos requeridos del operador son el nombre de la tabla que se está creando y el nombre de al menos una columna (campo) que indica el tipo de datos almacenados en esta columna.

Al crear una tabla, se pueden especificar algunas reglas adicionales para controlar los valores ingresados ​​en ellas para campos individuales. La construcción NOT NULL sirve precisamente para este propósito y, para una columna de tabla, significa que se debe definir un valor en esa columna.

Declaraciones SQL

Vista

Nombre

Objetivo

CREAR MESA

MESA PLEGABLE

ALTERAR TABLA

CREAR ÍNDICE

ÍNDICE DE CAÍDA

CREAR VISTA

VISTA CAÍDA

GRANDIOSO*

REVOCAR*

creando una tabla

eliminar una tabla

estructura de la mesa de cambio

creación de índice

eliminar un índice

creando una vista

eliminar una vista

asignando privilegios

eliminación de privilegios

SELECCIONAR

ACTUALIZAR

INSERTAR

BORRAR

registros de muestra

cambiando registros

insertando nuevos registros

eliminando entradas

En general, diferentes DBMS pueden utilizar diferentes tipos de datos. La interfaz ODBC admite sus propios tipos de datos estándar, por ejemplo, de caracteres (SQL_CHAR, SQL_VARCHAR, SQL_LONGVARCHAR), etc. Cuando se trabaja con la base de datos de un determinado DBMS a través de la interfaz ODBC, los tipos de datos estándar admitidos por la interfaz se convierten automáticamente. en tipos de datos de origen y viceversa. Si es necesario, el intercambio de datos entre el programa y la fuente de datos se puede realizar sin conversión al formato de datos interno de la fuente.

Ejemplo 1 . Creando una tabla.

Supongamos que desea crear una tabla de bienes que describa bienes que tenga los siguientes campos: tipo tipo de producto, identificador comp_id de la empresa fabricante, nombre del producto y precio precio del producto. La declaración de definición de la tabla podría verse así:

CREAR TABLA de bienes (tipo SQL_CHAR(8) NOT NULL,

comp_id SQL_CHAR(10) NO NULO, nombre SQL_VARCHAR(20),

precio SQL_DECIMAL(8,2)).

2. Operador cambios en la estructura de la tablatiene el formato:

ALTERAR TABLA<имя таблицы>

((AÑADIR, MODIFICAR, ELIMINAR)<имя столбца> [<тип данных>]

[,(AÑADIR, MODIFICAR, ELIMINAR)<имя столбца> [<тип данных>]]...)

Cambiar la estructura de una tabla puede consistir en agregar (AÑADIR), cambiar (MODIFICAR) o eliminar (DROP) una o más columnas de la tabla. Las reglas para escribir la declaración ALTER TABLE son las mismas que para la declaración CREATE TABLE. Al eliminar una columna, indique<тип данных>No hay necesidad.

3. Operador eliminar una tablatiene el formato:

MESA PLEGABLE<имя таблицы>

El operador le permite eliminar una tabla existente. Por ejemplo, para eliminar una tabla llamada elementos, basta con escribir una declaración como: DROP TABLE items.

4. Operador creando un índicetiene el formato:

CREAR ÍNDICE< имя индекса >

EN< имя таблицы >

(<имя столбца>[ASC | DESC ]

[,<имя столбца>[ASC | DESC]...)

El operador le permite crear un índice en una o más columnas de una tabla determinada para acelerar la ejecución de las operaciones de consulta y búsqueda en la tabla. Puede crear varios índices en una sola tabla. Al especificar la opción UNIQUE opcional, puede asegurarse de que los valores en todas las columnas especificadas en la declaración sean únicos. Básicamente, crear un índice utilizando el atributo UNIQUE significa definir una clave en una tabla creada previamente. Cuando crea un índice, puede configurar los valores en las columnas para que se ordenen automáticamente en orden ascendente ASC (predeterminado) o en orden descendente DESC. Puede establecer un orden de clasificación diferente para diferentes columnas.

5. Operador eliminar un índicetiene el formato:

ÍNDICE DE CAÍDA<имя индекса>

Este operador le permite eliminar un índice creado previamente con el nombre correspondiente. Entonces, por ejemplo, para destruir el índice main_indx en la tabla emp, basta con escribir la declaración DROP INDEX main_indx.

6. Operador creando una vistatiene el formato:

CREAR VISTA<имя представления>

[(<имя столбца> [,<имя столбца> ]...)]

COMO<оператор SELECT>

Este operador le permite crear una vista. Si los nombres de las columnas no se especifican en la vista, se utilizarán los nombres de las columnas de la consulta descrita por la instrucción SELECT correspondiente.

7. Eliminar operador La representación tiene el siguiente formato:

VISTA CAÍDA<имя представления>

El operador le permite eliminar una vista creada previamente. Tenga en cuenta que cuando elimina una vista, las tablas que participan en la consulta no se eliminan. La eliminación de una representación gerg se realiza con un operador del formulario: DROP VIEW repr.

8. Operador de selección de registros. tiene el formato:

SELECCIONAR

< список данных >

DE<список таблиц>

... ]

...]

Esta es la declaración más importante de todas las declaraciones SQL. Su funcionalidad es enorme. Veamos los principales. La instrucción SELECT le permite seleccionar y realizar cálculos sobre datos de una o más tablas. El resultado de la declaración es una tabla de respuestas, que puede tener o no filas duplicadas (DISTINCT). De forma predeterminada, todas las filas, incluidas las duplicadas, se incluyen en la tabla de respuestas. La selección de datos involucra registros de una o más tablas enumeradas en la lista del operando FROM. La lista de datos puede contener los nombres de las columnas que participan en la consulta, así como expresiones sobre las columnas. En el caso más simple, las expresiones pueden contener nombres de columnas, símbolos aritméticos (+, , *, /), constantes y paréntesis. Si se escribe una expresión en la lista de datos, junto con la selección de datos, se realizan cálculos, cuyos resultados caen en una nueva columna (creada) de la tabla de respuestas. Cuando se utilizan nombres de columnas de varias tablas en listas de datos, se utiliza una construcción del formulario para indicar que una columna pertenece a una determinada tabla:<имя таблицы>.<имя столбца>.

El operando WHERE especifica las condiciones que deben cumplir los registros de la tabla resultante. Expresión<условие выборки>es booleano. Sus elementos pueden ser nombres de columnas, operaciones de comparación, operaciones aritméticas, conectivos lógicos (Y, O, NO), paréntesis, funciones especiales LIKE, NULL, IN, etc. El operando GROUP BY le permite seleccionar grupos en el conjunto de registros resultante.

9. Operador cambios de registrotiene el formato:

ACTUALIZAR<имя таблицы>

COLOCAR<имя столбца> = {<выражение>, NULO )

[, COLOCAR<имя столбца> = {<выражение>, NULO)...]

La ejecución de una sentencia UPDATE consiste en cambiar los valores de las columnas de la tabla especificadas por el operando SET por aquellos registros que cumplan la condición especificada por el operando WHERE. Los valores de los nuevos campos en los registros pueden estar vacíos (NULL) o calcularse según una expresión aritmética. Las reglas para escribir expresiones aritméticas y lógicas son similares a las reglas correspondientes para la instrucción SELECT.

10. Operador insertando nuevos registrosTiene dos tipos de formatos:

INSERTAR EN<имя таблицы>

[(<список столбцов>)]

VALORES (<список значений>)

INSERTAR EN<имя таблицы>

[(<список столбцов>)]

<предложение SELECT>

En el primer formato, la instrucción INSERT se utiliza para ingresar nuevos registros con valores específicos en las columnas. El orden de enumeración de los nombres de las columnas debe coincidir con el orden de los valores enumerados en la lista del operando VALORES. Si<список столбцов>omitido, entonces en<списке значений>Todos los valores deben enumerarse en el orden de las columnas de la estructura de la tabla.En el segundo formato, la declaración INSERT está destinada a entrar enuna tabla dada de nuevas filas seleccionadas de otra tabla conutilizando la cláusula SELECT.

PÁGINA 1

Otros trabajos similares que te pueden interesar.vshm>

16. Aprenda los conceptos básicos del lenguaje de consulta estructurado T-SQL 34,15 KB
Para lograr este objetivo, es necesario resolver las siguientes tareas: crear consultas para selección de varias tablas en lenguaje SQL utilizando criterios de selección específicos; crear una consulta de selección en SQL que contenga funciones agregadas estáticas; cree una consulta que combine los resultados de dos o más consultas en un conjunto de resultados utilizando el comando UNION. Como resultado de completar el trabajo, los estudiantes deben saber: categorías de comandos SQL; comandos SQL básicos utilizados para crear una consulta; principios de creación de consultas SQL...
6030. EL LENGUAJE COMO FENÓMENO EN DESARROLLO. FACTORES EXTERNOS E INTERNOS DEL DESARROLLO DEL LENGUAJE 17,38KB
El problema del origen del lenguaje implica dos cuestiones. La primera pregunta está relacionada con el problema del origen del lenguaje en general, cómo se desarrolló el lenguaje humano, cómo una persona aprendió a hablar, el segundo con el origen de cada idioma individual. No se ha conservado ninguna evidencia de este período, por lo que al estudiar el origen del lenguaje en general, los lingüistas tienen que operar no sólo con hechos lingüísticos sino también con datos de ciencias afines. El interés por el problema del origen del lenguaje surgió hace mucho tiempo.
10870. Conexiones interdisciplinarias del curso “Lengua rusa profesional”. Transformación y diferenciación de la lengua rusa profesional. 10,57 KB
Transformación y diferenciación de la lengua rusa profesional 1. Transformación y diferenciación de la lengua rusa profesional. Las normas sintácticas están determinadas por la estructura de la lengua y, como otras normas ortopédicas, léxicas y morfológicas, sufren cambios en el proceso de desarrollo del lenguaje. Al dominar la sintaxis de una lengua no nativa, surgen una serie de dificultades a la hora de elegir formas de control y coordinar la construcción de oraciones, utilizar participios, elegir la preposición correcta, etc.
6929. Historia de la lengua de Delfos. 13,01KB
Delfos es la ciudad griega donde vivió el oráculo de Delfos. Delphi es una combinación de varias tecnologías importantes: Compilador de alto rendimiento para código de máquina Modelo de componentes orientado a objetos Construcción visual y, por lo tanto, de alta velocidad de aplicaciones a partir de prototipos de software Herramientas escalables para crear bases de datos Compilador para código de máquina El compilador integrado en Delphi proporciona la alto rendimiento necesario para la construcción de aplicaciones en la arquitectura...
10869. Los conceptos de “lenguaje profesional”, “lenguaje de especialidad”, su diferenciación. Lengua rusa profesional: su origen, funciones, alcance de funcionamiento (teniendo en cuenta las particularidades de la especialidad) 9,5 KB
Diferenciación del lenguaje. Cada especialidad económica, además del lenguaje común a todos los economistas, también tiene su propio lenguaje especial y especializado. Los especialistas se comunican en estos idiomas profesionales de forma oral y escrita; estos idiomas profesionales se enseñan a los estudiantes; dichos idiomas profesionales describen sistemas de conocimientos y habilidades en referencia educativa científica y otra literatura. En el sistema del lenguaje económico existen problemas comunes a todos los lenguajes profesionales.
1335. Modelos básicos de formación de palabras en inglés americano moderno 117,01KB
Las principales diferencias entre el inglés americano y británico. El problema de determinar el estatus mundial del inglés americano. El inglés americano en el mundo moderno. Características léxicas del inglés americano.
1936. HISTORIA, ESTRUCTURA Y CONCEPTOS BÁSICOS DE ECOLOGÍA 495,77KB
El término "ecología" proviene de las raíces griegas "oikos" - hogar, el entorno inmediato de una persona y "logos" - ciencia. Por lo tanto, en un sentido literal, la ecología es la ciencia de los organismos, incluidos los humanos, observados dentro de los confines de su hogar, prestando especial atención a la naturaleza de las relaciones entre los organismos y su entorno.
17746. Pedagogía de las bellas artes: historia y principales tendencias de desarrollo. 25,96KB
La tarea de la prueba es considerar el concepto de creatividad artística de los niños, identificar las investigaciones de maestros y psicólogos destacados y la historia de la formación de la creatividad artística de los niños. Una manifestación de creatividad artística pueden ser obras individuales, realizadas de forma independiente o bajo la guía de un adulto, dibujos, modelado, arte oral y escrito, melodías, dramatización, danza, así como canto coral, representaciones teatrales, artes y oficios, talla, teatro de marionetas, cine de dibujo y ficción, y...
6285. Declaraciones de control 103,51 KB
Operadores de bucle Los operadores de bucle se utilizan para organizar cálculos repetidos. Para organizar un bucle, necesita una variable llamada parámetro de bucle o variable de control de bucle. Cualquier ciclo consta de: ajustes iniciales o un bloque de inicialización de parámetros del ciclo; cuerpos de bucle, es decir, aquellas sentencias que se ejecutan varias veces; bloque de modificación de parámetros de ciclo; comprobando la condición de salida del bucle, que se puede colocar antes del cuerpo del bucle, luego hablan de un bucle con una precondición o después del cuerpo...
2784. Declaraciones condicionales y de selección. 16 KB
Operador de condición Si. Por lo tanto, ya puedes escribir los siguientes operadores de asignación: Koren:=Sqrtxy; Módulo:=bsxy. Para implementar tales saltos condicionales en Pascal, se utilizan los operadores If y Else, así como el operador de salto incondicional Goto. Veamos la declaración If.

Operadores SQL básicos.

SQL (lenguaje de consulta estructurado) es un lenguaje informático universal que se utiliza para crear, modificar y administrar datos en bases de datos relacionales. El lenguaje SQL se basa en álgebra relacional y es una colección de operadores.

Hay 4 grupos de operadores. Consideremos un grupo de operadores de manipulación de datos (Lenguaje de manipulación de datos, DML, SQLDML)

selección de datos

La selección de datos es la operación más común realizada con SQL. La declaración SELECT es una de las declaraciones más importantes en este lenguaje y se utiliza para seleccionar datos. La sintaxis de este operador es la siguiente:

SELECCIONAR columna DE la tabla

Las declaraciones SELECT deben contener las palabras SELECT y FROM; otras palabras clave son opcionales.

La palabra clave SELECT va seguida de información sobre qué campos incluir en el conjunto de datos resultante. Un asterisco (*) indica todos los campos de la tabla, por ejemplo:

Para seleccionar una columna, utilice la siguiente sintaxis:

SELECCIONAR Empresa

Un ejemplo de selección de varias columnas se ve así:

SELECCIONE Empresa, Teléfono, Correo

Para especificar los nombres de las tablas de las que se seleccionan registros, utilice la palabra clave FROM, por ejemplo:

SELECCIONAR * DE Clientes

Esta consulta devolverá todos los campos de la tabla Clientes.

Puede utilizar una cláusula WHERE (opcional) para filtrar los resultados devueltos por una declaración SELECT

SELECCIONAR * DE Productos DONDE Categoría = 4

Puede utilizar varias expresiones en la cláusula WHERE,

DONDE expresión1 [(Y | O) expresión2 ...]

Por ejemplo:

SELECCIONE * DE Productos DONDE Categoría = 2 Y Postavshik > 10

SELECCIONE Nombre, Precio DE Productos DONDE Categoría= 3 O Precio< 50

Puede utilizar los siguientes operadores:

< Меньше

<= Меньше или равно

<>No es igual

> Más

>= Mayor o igual que

La cláusula ORDER BY (opcional) se utiliza para ordenar el conjunto de datos resultante por una o más columnas. Las palabras clave ASC (ascendente) o DESC (descendente) se utilizan para determinar el orden de clasificación. De forma predeterminada, los datos se ordenan en orden ascendente.

Modificación de datos

Además de recuperar datos, SQL se puede utilizar para actualizar y eliminar datos, copiar registros a otras tablas y realizar otras operaciones. A continuación veremos las declaraciones ACTUALIZAR, ELIMINAR e INSERTAR que se utilizan para resolver algunos de estos problemas.

ACTUALIZAR declaración

Para cambiar valores en una o más columnas de una tabla, use la declaración ACTUALIZAR. La sintaxis de este operador es:

ACTUALIZAR tabla SET columna1 = expresión1 DONDE criterios

La expresión de la cláusula SET puede ser una constante o el resultado de un cálculo. Por ejemplo, para aumentar los precios de todos los productos que cuestan menos de $10, puede ejecutar la siguiente consulta:

ACTUALIZAR Productos SET Precio = Precio * 1.1 DONDE Precio< 10

BORRAR declaración

Para eliminar filas de las tablas, debe utilizar el operador DELETE, cuya sintaxis es:

ELIMINAR DE la tabla DONDE criterios

Elimina todos los productos que cuesten menos de 100.

El estándar del lenguaje SQL se adoptó en 1992 y todavía se utiliza en la actualidad. Fue esto lo que se convirtió en el estándar para muchos. Por supuesto, algunos fabricantes utilizan sus propias interpretaciones del estándar. Pero cualquier sistema todavía tiene los componentes principales: declaraciones SQL.

Introducción

Mediante sentencias SQL, se gestionan y obtienen valores y tablas para su posterior análisis y visualización. Son un conjunto de palabras clave mediante las cuales el sistema entiende qué hacer con los datos.

Se definen varias categorías de sentencias SQL:

  • definir objetos de base de datos;
  • manipulación de valores;
  • protección y control;
  • parámetros de sesión;
  • información sobre la base de datos;
  • SQL estático;
  • SQL dinámico.

Sentencias SQL para manipulación de datos.

INSERTAR. Inserta filas en una tabla existente. Puede usarse para un valor o varios, definidos por una determinada condición. Por ejemplo:

nombre de la tabla (nombre de columna 1, nombre de columna 2)

VALORES(valor 1, valor 2).

Para utilizar la instrucción INSERT en varios valores, utilice la siguiente sintaxis:

nombre de tabla 1 (nombre de columna 1, nombre de columna 2)

SELECCIONE el nombre de la columna 1, el nombre de la columna 2

DEL nombre de la tabla 2

DONDE nombre de la tabla 2.nombre de la columna 1>2

Esta consulta seleccionará todos los datos de la tabla 2 que sean mayores que 2 en la columna 1 y los insertará en la primera.

ACTUALIZAR. Como sugiere el nombre, esta declaración de consulta SQL actualiza los datos de una tabla existente en función de una característica específica.

ACTUALIZAR nombre de la tabla 1

SET nombre de columna 2 = "Vasily"

DONDE nombre de la tabla 1.nombre de la columna 1 = 1

Esta construcción llenará con el valor Vasily todas las líneas en las que encuentre el número 1 en la primera columna.

Datos de la tabla. Puede especificar una condición o eliminar todas las líneas.

ELIMINAR DEL nombre de la tabla

DONDE nombre de la tabla.nombre de la columna 1 = 1

La consulta anterior eliminará de la base de datos todos los datos con el valor uno en la primera columna. Así es como puedes borrar toda la tabla:

SELECCIONAR declaración

El objetivo principal de SELECT es seleccionar datos de acuerdo con ciertas condiciones. El resultado de su trabajo es siempre una nueva tabla con datos seleccionados. El operador MS se puede utilizar en una variedad de consultas diferentes. Por lo tanto, junto con ella, puedes considerar otras palabras clave relacionadas.

Para seleccionar todos los datos de una tabla específica, utilice el signo "*".

DESDE el nombre de la tabla 1

El resultado de esta consulta será una copia exacta de la tabla 1.

Y aquí se realiza una selección utilizando la condición WHERE, que recupera de la tabla 1 todos los valores mayores que 2 en la columna 1.

DESDE el nombre de la tabla 1

DONDE nombre de la tabla 1.nombre de la columna 1> 2

También puede especificar en la selección que solo se necesitan determinadas columnas.

SELECCIONAR nombre de tabla 1.nombre de columna 1

DESDE el nombre de la tabla 1

El resultado de esta consulta serán todas las filas con valores de la columna 1. Usando declaraciones de MS SQL, puede crear su propia tabla, reemplazando, calculando y sustituyendo ciertos valores sobre la marcha.

nombre de la tabla 1.nombre de la columna 1

nombre de la tabla 1.nombre de la columna 2

nombre de la tabla 1.nombre de la columna 3

nombre de la tabla 1.nombre de la columna 2 * nombre de la tabla 1.nombre de la columna 3 AS SUMMA

DESDE el nombre de la tabla 1

Esta consulta aparentemente compleja recupera todos los valores de la Tabla 1 y luego crea nuevas columnas EQ y SUMMA. El primero se rellena con el signo “+” y el segundo es el producto de los datos de las columnas 2 y 3. El resultado obtenido se puede presentar en forma de tabla para entender cómo funciona:

Al utilizar la instrucción SELECT, puede ordenar inmediatamente los datos según cualquier criterio. Para esto se utiliza la palabra ORDER BY.

nombre de la tabla 1.nombre de la columna 1

nombre de la tabla 1.nombre de la columna 2

nombre de la tabla 1.nombre de la columna 3

DESDE el nombre de la tabla 1

ORDENAR POR nombre de columna 2

La tabla resultante se verá así:

Es decir, todas las filas se configuraron en tal orden que los valores de la columna 2 estuvieran en orden ascendente.

Los datos también se pueden obtener de varias tablas. Para mayor claridad, primero debe imaginar que hay dos de ellos en la base de datos, algo como esto:

Tabla "Empleados"

Tabla "Salario"

Ahora necesitamos conectar de alguna manera estas dos tablas para obtener valores comunes. Usando declaraciones SQL básicas, puede hacer esto de esta manera:

Empleados.Número

Nombre del empleado

Salario.Tasa

Salario acumulado

DE Empleados, Salario

DONDE Empleados.Número = Salario.Número

Aquí seleccionamos entre dos tablas de valores diferentes, combinadas por número. El resultado será el siguiente conjunto de datos:

Un poco más sobre SELECCIONAR. Usar funciones agregadas

Uno de los operadores principales puede realizar algunos cálculos al realizar la recuperación. Para ello utiliza determinadas funciones y fórmulas.

Por ejemplo, para obtener la cantidad de registros de la tabla Empleados, debe utilizar la consulta:

SELECCIONAR CUENTA (*) COMO N

DE Empleados

El resultado es una tabla con un valor y una columna.

Puede ejecutar una consulta como esta y ver qué sucede:

SUM(Salario. Devengado) COMO SUMMA

MAX(Salario. Acumulado) COMO MAX

MIN(Salario. Acumulado) COMO MIN

AVG(Salario. Acumulado) COMO SRED

DESDE Salario

La mesa final quedará así:

De esta forma, podrá seleccionar los valores deseados de la base de datos, calculando varias funciones sobre la marcha.

Unión, intersección y diferencias.

Combina múltiples consultas en SQL

SELECCIONAR Empleados.Nombre

DE Empleados

DONDE Empleados.Número = 1

SELECCIONAR Empleados.Nombre

DE Empleados, Salario

DONDE Salario.Número = 1

Hay que tener en cuenta que con tal unión las mesas deben ser compatibles. Es decir, tener el mismo número de columnas.

Sintaxis de la declaración SELECT y orden de procesamiento

Lo primero que hace SELECT es determinar el área de la que tomará datos. Para esto se utiliza la palabra clave FROM. Si no se indica qué elegir exactamente.

Entonces la cláusula SQL WHERE puede estar presente. Con su ayuda, SELECT recorre todas las filas de la tabla y verifica que los datos cumplan con la condición.

Si la consulta contiene GROUP BY, los valores se agrupan según los parámetros especificados.

Operadores para comparar datos.

Hay varios tipos. En SQL, los operadores de comparación pueden probar diferentes tipos de valores.

    "=". Denota, como puedes imaginar, la igualdad de dos expresiones. Por ejemplo, ya se ha utilizado en los ejemplos anteriores: DONDE Salario.Número = 1.

    ">". Más señal. Si el valor del lado izquierdo de la expresión es mayor, entonces se devuelve el VERDADERO lógico y la condición se considera cumplida.

    «<». Знак меньше. Обратный предыдущему оператор.

    Señales "<=» и «>=". Se diferencia de los operadores simples de más y menos en que si los operandos son iguales, la condición también será verdadera.

COMO

Esta palabra clave se puede traducir como "similar". El operador LIKE en SQL se usa aproximadamente de la misma manera: ejecuta una consulta basada en una plantilla. Es decir, permite ampliar la selección de datos de la base de datos mediante expresiones regulares.

Por ejemplo, se planteó la siguiente tarea: de la ya conocida base de datos “Empleados”, obtener todas las personas cuyo nombre termine en “I”. Entonces la consulta se puede escribir así:

DE Empleados

DONDE Nombre COMO `%i`

El signo de porcentaje en este caso significa una máscara, es decir, cualquier carácter y su número. Y con la letra “I”, SQL determinará que el último carácter debe ser exactamente así.

CASO

Esta declaración de SQL Server es una implementación de selección múltiple. Es una reminiscencia de la construcción switch en muchos lenguajes de programación. La declaración CASE en SQL realiza una acción basada en varias condiciones.

Por ejemplo, debe seleccionar los valores máximo y mínimo de la tabla "Salario".

Entonces la consulta se puede escribir así:

DESDE Salario

DONDE CASO CUANDO SELECCIONE MAX(Acumulado) ENTONCES Máximo

CUANDO SELECCIONE MIN(Acumulado) ENTONCES Mínimo

En este contexto, el sistema busca el valor máximo y mínimo en la columna Acumulado. Luego, al usar FIN, se crea un campo “total”, en el que se ingresará “Máximo” o “Mínimo”, dependiendo del resultado de la condición.

Por cierto, SQL también tiene una forma más compacta de CASE - COALESCE.

Operadores de definición de datos

Esta vista le permite realizar diversas modificaciones en las tablas: crear, eliminar, modificar y trabajar con índices.

El primero que vale la pena considerar es CREAR TABLA. No hace más que crear una tabla. Si simplemente escribe la consulta CREATE TABLE, no sucederá nada, ya que aún necesita especificar varios parámetros.

Por ejemplo, para crear la ya familiar tabla "Empleados", debe utilizar los comandos:

CREAR TABLA Empleados

(Número (10) NO NULO

Nombre varchar(50) NO NULO

Apellido varchar(50) NOT NULL)

En esta consulta se determinan inmediatamente entre paréntesis los nombres de los campos y sus tipos, así como si puede ser igual a NULL.

MESA PLEGABLE

Realiza una tarea sencilla: eliminar la tabla especificada. Tiene un parámetro adicional SI EXISTE. Absorbe un error de caída si la tabla que buscas no existe. Ejemplo de uso:

DROP TABLE Empleados SI EXISTE.

CREAR ÍNDICE

SQL tiene un sistema de índice que le permite acelerar el acceso a los datos. Por lo general, es un enlace que apunta a una columna específica. Puede crear un índice con una consulta simple:

CREAR ÍNDICE nombre_índice

EN nombre_tabla(nombre_columna)

Este operador se utiliza en T-SQL, Oracle, PL SQL y muchas otras tecnologías de interpretación.

ALTERAR TABLA

Un operador muy funcional con numerosas opciones. En general, cambia la estructura, definición y ubicación de las tablas. Operador usado en Oracle SQL, Postgres y muchos otros.

    AGREGAR. Agrega una columna a la tabla. Su sintaxis es la siguiente: ALTER TABLE nombre_tabla ADD nombre_columna tipo_datos_almacenados. Puede tener una opción SI NO EXISTE para suprimir el error si la columna que se está creando ya existe;

    GOTA. Elimina una columna. También cuenta con una clave SI EXISTE, sin la cual se generará un error indicando que falta la columna requerida;

    CAMBIAR. Sirve para cambiar el nombre del campo al especificado. Ejemplo de uso: ALTER TABLE nombre_tabla CAMBIAR nombre_antiguo nombre_nuevo;

    MODIFICAR. Este comando le ayudará a cambiar el tipo y los atributos adicionales de una determinada columna. Y se usa así: ALTER TABLE nombre_tabla MODIFY nombre_columna atributos tipo_datos;

CREAR VISTA

En SQL existe una vista. En definitiva, se trata de una especie de tabla virtual con datos. Se forma como resultado de la selección mediante la instrucción SQL SELECT. Las vistas pueden restringir el acceso a la base de datos, ocultarlas y reemplazar nombres de columnas reales.

El proceso de creación se produce mediante una simple solicitud:

CREAR VISTA ver nombre COMO SELECCIONAR DE * nombre de tabla

El muestreo puede realizarse a partir de toda la base de datos o en función de alguna condición.

Un poco sobre las funciones.

Las consultas SQL suelen utilizar varias funciones integradas que le permiten interactuar con los datos y transformarlos sobre la marcha. Vale la pena considerarlos porque forman parte integral de un lenguaje estructurado.

    CONTAR. Cuenta registros o filas en una tabla específica. Puede especificar el nombre de la columna como parámetro y luego se tomarán los datos de ella. SELECCIONAR RECUENTO * DE Empleados;

    PROMEDIO. Se aplica solo a columnas con datos numéricos. Su resultado es la determinación de la media aritmética de todos los valores;

    MÍN y MÁX. Estas funciones ya se han utilizado en este artículo. Determinan los valores máximo y mínimo de una columna específica;

    SUMA. Es simple: la función calcula la suma de los valores de las columnas. Se aplica exclusivamente a datos numéricos. Al agregar el parámetro DISTINCT a la consulta, solo se sumarán valores únicos;

    REDONDO. Función para redondear fracciones decimales. La sintaxis utiliza el nombre de la columna y el número de decimales;

    LEN. Una función simple que calcula la longitud de los valores de una columna. El resultado será una nueva tabla que indica el número de caracteres;

    AHORA. Esta palabra clave se utiliza para calcular la fecha y hora actuales.

Operadores adicionales

Muchos ejemplos de declaraciones SQL tienen palabras clave que realizan pequeñas tareas pero aún así simplifican enormemente la recuperación o manipulación de la base de datos.

    COMO. Se utiliza cuando necesita formatear visualmente el resultado asignando el nombre especificado a la tabla resultante.

    ENTRE. Una herramienta de muestreo muy conveniente. Especifica el rango de valores entre los cuales se recuperarán los datos. Toma como entrada el parámetro desde y hasta qué número se utiliza el rango.

    NO. El operador da lo contrario de la expresión.

    TRUNCAR. Elimina datos de la sección especificada de la base de datos. Se diferencia de operadores similares en que es imposible restaurar datos después de su uso. Vale la pena considerar que la implementación de esta palabra clave en diferentes interpretaciones de SQL puede diferir. Por lo tanto, antes de intentar utilizar TRUNCATE, es mejor leer la información de ayuda.

    LÍMITE. Establece el número de líneas a generar. La peculiaridad del operador es que siempre se encuentra al final. Acepta un parámetro obligatorio y otro opcional. El primero especifica cuántas filas de datos seleccionados se deben mostrar. Y si se utiliza el segundo, entonces el operador trabaja como para un rango de valores.

    UNIÓN. Un operador muy conveniente para combinar múltiples consultas. Ya se ha encontrado entre ejemplos de esto en este artículo. Puede mostrar las filas deseadas de varias tablas combinándolas con UNION para un uso más conveniente. Su sintaxis es la siguiente: SELECT nombre_columna FROM nombre_tabla UNION SELECT otro_nombre_columna FROM otro_nombre_tabla. El resultado es una tabla dinámica con las consultas combinadas.

    CLAVE PRIMARIA. Traducido como "clave primaria". De hecho, ésta es exactamente la terminología utilizada en los materiales de referencia. Significa un identificador de fila único. Se utiliza, por regla general, al crear una tabla para indicar el campo que la contendrá.

    POR DEFECTO. Al igual que el operador anterior, se utiliza durante la ejecución de la solicitud de creación. Define el valor predeterminado con el que se completará el campo cuando se cree.

    NULO. Los principiantes, y no sólo los programadores, al escribir consultas, a menudo se olvidan de la posibilidad de obtener el valor NULL. Como resultado, se introduce un error en el código, que es difícil de localizar durante la depuración. Por lo tanto, al crear tablas, seleccionar o recalcular valores, debe detenerse y pensar si se tiene en cuenta la aparición de NULL en esta parte de la consulta.

    Memoria. Este artículo mostró varias funciones que pueden realizar algunas tareas. Al desarrollar un shell para trabajar con una base de datos, puede subcontratar el cálculo de expresiones simples al sistema de gestión de bases de datos. En algunos casos, esto proporciona un aumento significativo del rendimiento.

    Restricciones. Si necesita obtener sólo dos filas de una base de datos con miles de filas, entonces debe utilizar operadores como LIMIT o TOP. No es necesario extraer datos utilizando un lenguaje de desarrollo de shell.

    Compuesto. Después de recibir datos de varias tablas, muchos programadores comienzan a reunirlos utilizando la memoria shell. ¿Pero por qué? Después de todo, puedes crear una solicitud en la que todo esto estará presente. No es necesario escribir código adicional ni reservar memoria adicional en el sistema.

    Clasificación. Si es posible aplicar el orden en una consulta, es decir, utilizando el DBMS, entonces debe utilizarlo. Esto le permitirá ahorrar significativamente recursos al ejecutar un programa o servicio.

    Muchas solicitudes. Si tiene que insertar muchos registros secuencialmente, para la optimización debería pensar en insertar datos por lotes con una sola solicitud. Esto también aumentará el rendimiento de todo el sistema en su conjunto.

    Ubicación cuidadosa de los datos. Antes de compilar la estructura de la base de datos, debe pensar si son necesarias tantas tablas y campos. Quizás haya una manera de combinarlos o descartar algunos. Muy a menudo los programadores utilizan una cantidad excesiva de datos que nunca se utilizarán en ninguna parte.

    Tipos. Para ahorrar espacio y recursos, debe ser sensible a los tipos de datos que utiliza. Si es posible utilizar un tipo que sea menos “pesado” para la memoria, entonces deberías utilizarlo. Por ejemplo, si sabe que el valor numérico en un campo determinado no excederá 255, entonces ¿por qué usar un INT de 4 bytes si hay un TINYINT de 1 byte?

Conclusión

En conclusión, cabe señalar que el lenguaje de consulta estructurado SQL se utiliza ahora en casi todas partes: sitios web, servicios web, programas para PC y aplicaciones para dispositivos móviles. Por tanto, el conocimiento de SQL ayudará a todas las ramas del desarrollo.

Sin embargo, las modificaciones del estándar del idioma original a veces difieren entre sí. Por ejemplo, las sentencias PL SQL pueden tener una sintaxis diferente a la de SQL Server. Por eso, antes de empezar a desarrollar con esta tecnología, merece la pena leer los tutoriales sobre la misma.

En el futuro, es poco probable que aparezcan análogos que puedan superar a SQL en funcionalidad y rendimiento, por lo que esta área es un nicho bastante prometedor para cualquier programador.

La sintaxis de la declaración SELECT es la siguiente:

SELECCIONAR<список атрибутов>/* DE<список таблиц>

Los corchetes indican elementos que pueden no estar presentes en la solicitud.

Listar todos los estudiantes.

SELECCIONAR * DE estudiantes

SELECCIONE id_st, apellido DEL estudiante

Tenga en cuenta que si agrega la cláusula ORDER BY apellido a esta consulta, la lista se ordenará por apellido. De forma predeterminada, se supone que la clasificación se realiza en orden ascendente. Si se desea un orden descendente, se agrega la palabra DESC después del nombre del atributo.

Mostrar una lista de calificaciones que recibió un estudiante con el código "1".

Proporcione una lista de códigos para los estudiantes que recibieron al menos una D o C en los exámenes..

En la cláusula WHERE, puedes escribir una expresión usando operadores aritméticos comparaciones (<, >, etc.) y operadores lógicos (Y, O, NO) como en los lenguajes de programación convencionales.

Junto con los operadores de comparación y los operadores lógicos para crear condiciones en el lenguaje SQL (debido al ámbito de aplicación específico), existen varios operadores especiales que, por regla general, no tienen análogos en otros lenguajes. Estos son los operadores:

  • IN – entrada en un determinado conjunto de valores;
  • ENTRE – entrada en un cierto rango de valores;
  • ME GUSTA – prueba de coincidencia de patrones;
  • ES NULO: busca un valor indefinido.

El operador IN se utiliza para comprobar si un valor está incluido en un conjunto. Si, solicitar

da el mismo resultado que la consulta anterior (mostrará los identificadores de todos los solicitantes que recibieron al menos una D o C en los exámenes).

Se puede lograr el mismo resultado usando el operador ENTRE:

Enumere todos los estudiantes cuyos apellidos comiencen con la letra A..

En este caso conviene utilizar el operador LIKE.

El operador LIKE se aplica exclusivamente a campos de caracteres y le permite determinar si el valor de un campo coincide con un patrón. El patrón puede contener caracteres especiales:

_ (guión bajo): reemplaza cualquier carácter;

% (signo de porcentaje): reemplaza una secuencia de cualquier número de caracteres.

Muy a menudo es necesario calcular los valores mínimo, máximo o promedio en columnas. Por ejemplo, es posible que necesites calcular tu GPA. Para realizar tales cálculos, SQL proporciona especiales Funciones agregadas:

  • MIN – valor mínimo en la columna;
  • MAX – valor máximo en la columna;
  • SUMA – la suma de los valores de la columna;
  • AVG – valor promedio en la columna;
  • COUNT: el número de valores no NULL en la columna.

La siguiente consulta calcula el promedio de todas las puntuaciones obtenidas por los estudiantes en los exámenes.

SELECCIONE AVG(marca) DE mark_st

Naturalmente, puedes utilizar Funciones agregadas junto con la cláusula WHERE:

Esta consulta calculará la puntuación promedio de un estudiante con un código de 100 en función de los resultados de todos los exámenes que ha realizado.

Esta consulta calculará la puntuación promedio de los estudiantes en función de los resultados de aprobar el examen con código 10. Además de los mecanismos discutidos




Arriba