Referencia de comandos SQL

En este capítulo se incluye información sobre la lista de comandos SQL:

SELECT

INSERT INTO

UPDATE

DELETE

Sentencia Select

Sintaxis

SELECT [ALL|DISTINCT] expresión [ AS nombre ] [, …] [ FROM tabla [ WHERE condición ]

[ GROUP BY columna [, …] ]

[ HAVING condición [, …] ]

[ UNION select ]

Entradas

expresión

Nombre de una columna de una tabla o una expresión.

nombre

Especifica otro nombre de columna o una expresión usando la cláusula AS. nombre no puede ser usado en la condición WHERE. Sí puede, sin embargo, ser referenciado en cláusulas HAVING o GROUP BY asociadas.

table

Nombre de una tabla existente referenciada por la cláusula FROM.

condición

Expresión booleana que devuelva un resultado true or false. Ver la cláusula WHERE.

columna

Nombre de una columna de una tabla.

select

Una sentencia select con todas sus funcionalidades excepto la cláusula ORDER BY.

Salidas

rows

Conjunto completo de filas resultantes de la especificación de la consulta.

count

Número de filas devueltas por la consulta.

Sentencia SELECT simple

Sentencias select que sólo contienen nombres de columna y una única tabla:

SELECT fieldname FROM tablename

Ejemplos:

– Seleccionar todos los registros de todas las columnas de ANEXOS.

– Seleccionar todos los registros de las columnas especificadas de ANEXOS.

Sentencia Select conteniendo las palabras clave ALL y DISTINCT

Sentencias select que contienen palabras claves cuantificadores. Si no se especifican palabras claves, se tomará ALL por defecto.

SELECT DISTINCT fieldname FROM tablename SELECT ALL fieldname FROM tablename

Ejemplos:

– Seleccionar todos los registros de todas las columnas de ANEXOS.

– Seleccionar los registros de todas las columnas de ANEXOS, quitando aquellos que tengan valores duplicados en las mismas.

– Seleccionar todos los registros de las columnas especificadas de ANEXOS.

– Seleccionar los registros con valores distintos en las columnas especificadas de ANEXOS.

Sentencia select con expresiones aritméticas

Los operadores aritméticos manipulan operandos numéricos.

  • (unario): hace positivo el operando.

    Ejemplo:

– (unario): niega el operando. Ejemplo:

+: suma de números. Ejemplo:

–: resta de números. Ejemplo:

*: multiplicación de números. Ejemplo:

/: división de números. Ejemplo:

Más ejemplos:

Cláusula WHERE

La cláusula WHERE en sentencias SELECT es usada para especificar los criterios de selección basados en una condición de búsqueda.

Operadores de comparación

Los operadores de comparación son usados en condiciones que comparan una expresión con otra. El resultado de la comparación puede ser TRUE o FALSE.

=: igual que. Ejemplo:

<>: distinto de. Ejemplo:

>: mayor que. Ejemplo:

<: menor que. Ejemplo:

>=: mayor o igual que. Ejemplo:

<=: menor o igual que. Ejemplo:

Más ejemplos:

Los operadores de comparación pueden ser usados también en campos de tipo cadena.

Operadores lógicos

Operadores lógicos que manipulan el resultado de condiciones.

NOT: devuelve TRUE si la condición siguiente es FALSE. Devuelve FALSE si es TRUE. Ejemplo:

AND: devuelve TRUE si las dos condiciones componentes son TRUE. Devuelve FALSE si alguna es FALSE. Ejemplo:

OR: devuelve TRUE si alguna de las condiciones componentes son TRUE. Devuelve FALSE si ambas son FALSE. Ejemplo:

Más ejemplos:

Sub Query

Una condición de búsqueda puede incluir una sub consulta. El grado y cardinalidad de la sub consulta puede ser 1. Las sub consultas no pueden tener cláusulas GROUP BY O HAVING.

Ejemplos:

Predicado BETWEEN

Mayor que o igual y menor que o igual entre dos límites.

Ejemplos:

Predicado LIKE(%, _ Y \)

El predicado LIKE busca cadenas que coincidan con un patrón determinado. Este patrón es especificado por una cadena en la que el signo _ y el signo % pueden tener un significado especial.

%: busca coincidencia con cualquier cadena de cero o más caracteres. Ejemplo:

_: busca coincidencia con cualquier carácter único. Ejemplo:

ESCAPE: escape es interpretado de forma literal, útil cuando se desea buscar cadenas que contengan un tanto por ciento (%) o un carácter de subrayado (_). Ejemplo:

Más ejemplos:

– Devolverá todas las cadenas que contengan la cadena “Valor”.

– Devolverá aquellas cadenas que tengan 5 caracteres que empiecen por ab y terminen en cd.

– Devolverá todas las cadenas que empiecen por ab%cd.

– Devolverá todas las cadenas que empiecen por ab_cd.

– Devolverá todas las cadenas que empiecen por ab\cd.

– Devolverá todas las cadenas que no empiecen por ab\cd.

Predicado NULL

Busca valores nulos. Este es el único operador que puede ser usado para buscar valores nulos.

Ejemplos:

Predicado de comparación cuantificada

Compara el valor de cada valor en una lista o en una lista resultante de una consulta. Debe ir precedido de =, !=, >, <, =. Evalúa FALSE si la consulta no devuelve filas.

Ejemplos:

Predicado EXISTS

Devuelve TRUE si una sub-consulta retorna al menos una fila.

Predicado IN

Comprueba si el valor es igual a cada valor de una lista o de una lista resultante de una consulta.

Nota: esta cláusula no es funciona con cláusulas multi-tabla.

Funciones de agregado

Realizan un cálculo sobre un conjunto de valores y devuelven un solo valor. SUM: devuelve la suma de todos los valores los valores de la expresión numérica. Solamente puede utilizarse con columnas numéricas.

Ejemplo:

AVG: devuelve el promedio de los valores de un grupo. Solamente puede utilizarse con columnas numéricas.

Ejemplo:

COUNT: devuelve el número de valores de un grupo.

Ejemplo:

COUNT(*): devuelve el número de filas seleccionadas.

Ejemplo:

MAX: devuelve el valor máximo de la expresión.

Ejemplo:

MIN: devuelve el valor mínimo de la expresión.

Ejemplo:

Uso de las palabras clave DISTINCT y ALL

Las palabras clave opcional DISTINCT puede ser usada con SUM, AVG y COUNT para eliminar valores duplicados antes de que una función de agregado sea ejecutada (el valor por defecto es ALL).

Ejemplos:

Más ejemplos:

– Quita registros duplicados obtenidos en el resultado.

GROUP BY

Agrupa un conjunto de filas seleccionado en un conjunto de filas de resumen de acuerdo a los valores de una o más columnas o expresiones.

Especifica los grupos en los que han de ser situadas las filas seleccionadas y, si en la cláusula SELECT se han incluido funciones de agregado, calcula un valor de resumen para cada grupo.

Ejemplos:

HAVING

Especifica una condición de búsqueda para un grupo o un agregado. Habitualmente es usado con la cláusula GROUP BY.

Ejemplos:

Combinación de WHERE ,GROUP BY,HAVING

Ejemplos:

Operaciones con conjuntos

Puede ser llevadas a cabo a través de operadores de conjuntos, éstos combinan el resultado de dos consultas en una única colección.

UNION

Devuelve todas las filas con valores diferentes de cada consulta.

Ejemplos:

UNION ALL

Devuelve todas las filas seleccionadas por cada consulta, incluyendo todas las duplicadas.

Ejemplos:

Operación de renombrado

Alias de columna

Se trata de un nombre alternativo para sustituir el nombre de columna en un conjunto resultante de una consulta.

Ejemplos:

SELECT con múltiples tablas

La cláusula SELECT que contenga múltiples tablas devolverá producto cruzado de tablas.

Ejemplo:

Uso del operador .

Usando el operador . el nombre de la tabla puede ser usado para referenciar una columna.

Ejemplo:

Sentencia INSERT INTO

Syntax

INSERT INTO tabla

{ VALUES ( valor1 [, …] ) | SELECT consulta }

También es posible especificar las columnas para las que queramos insertar datos:

INSERT INTO tabla [ ( columna [, …] ) ]

{ VALUES ( valor1 [, …] ) | SELECT consulta }

Entradas

table: el nombre de una tabla existente.

column: el nombre de una columna de la tabla.

valor1: el valor asignado a la columna correspondiente.

Consulta: una consulta (query) válida. La lista resultante de la SELECT de esta sub consulta debe tener el mismo número de columnas que la lista resultante de la sentencia INSERT.

Salidas

INSERT #

Mensaje retornado y se insertaron filas. # es el número de filias insertadas.

Formas de sentencias INSERT

Inserta un nuevo registro con los valores 47 para el primer campo y “Nuevo” para el segundo.

Inserta un nuevo registro con el valor 44 para el CODIGO y el resto de los campos por defecto.

Inserta un nuevo registro con el valor “Nuevo” para el NOMBRE y CODIGO con valor auto-incrementado si así está declarado.

Inserta un nuevo registro con el valor 47 en el CODIGO y el valor “Nuevo” en el NOMBRE.

Inserta todos los registros de ANEXOS en IDIOMAS. Inserta solamente si el grado de la sub-consulta es igual al grado de los IDIOMAS.

Inserta todos los registros de ANEXOS en IDIOMAS. Inserta solamente si el grado de la sub-consulta es igual al grado de IDIOMAS. La sub-consulta solamente puede contener los campos seleccionados.

Inserta las columnas especificadas en la sub-consulta a las columnas especificadas de la tabla.

Inserta registros basados en la condición de la sub-consulta (cláusula WHERE).

Notas de uso

El mismo nombre de columna no debería aparecer más de una vez en el argumento de columna.

El número de columnas especificado en el argumento de columna debe ser igual al número de valores proporcionados. Si se omite el argumento columna, el número de valores debe ser igual al grado de la tabla.

La expresión para cada columna debería ser del tipo de datos adecuado, pues no se hará una corrección automática del tipo.

Las columnas de la lista de destino pueden ser listadas en cualquier orden.

Sentencia UPDATE

Sintaxis

UPDATE– Reemplaza valores de columnas en una tabla.

<DESTUPDATE tabla SET columna = expresión [, …]

[ WHERE condición ]

Entradas

tabla: nombre de una tabla existente.

columna: nombre de una columna de la tabla.

SET: indica que las columnas siguientes se les asignarán valores específicos.

Si se omite el nombre de una de las columnas de la tabla en la cláusula SET, el valor de la misma permanecerá inalterado.

Expresión: una expresión o valor válidos para asignar a la columna.

condición: una condición de búsqueda.

WHERE restringe las filas actualizadas a aquellas en las que la condición especificada es TRUE. Si se omite la cláusula WHERE, el driver actualizará todas las filas de la tabla.

La condición de búsqueda en la sentencia UPDATE puede ser uno de los predicados siguientes:

  • Predicado de comparación.

  • Predicado BETWEEN.

  • Predicado IN.

  • Predicado LIKE.

  • Predicado NULL.

  • Predicado de comparación cuantificada.

  • Predicado EXISTS.

Salidas

UPDATE #

Mensaje devuelto si el resultado ha sido satisfactorio. El carácter # significa el número de filas actualizadas. Si # es igual a 0, querrá decir que no se actualizó fila alguna.

Formas de la sentencia UPDATE

La sentencia UPDATE básica actualiza todos los registros de una tabla con nuevos valores.

Ejemplos:

Actualiza todos los registros solamente si ninguno de los campos es la clave primaria. Si no, retorna error.

Actualiza solamente los campos especificados, el resto permanecerán inalterados.

Con expresiones aritméticas

Las operaciones aritméticas usan operandos numéricos.

Ejemplos:

Evalúa la expresión aritmética y la actualiza en todos los registros.

Cláusula WHERE y sub consultas

Busca registros basándose en una condición y actualiza solamente aquellos que cumplan la condición. La condición de búsqueda pude tener cualesquiera predicados y sub consultas.

  • Predicado de comparación.

  • Predicado BETWEEN.

  • Predicado IN.

  • Predicado LIKE.

  • Predicado NULL.

  • Predicado de comparación cuantificada.

  • Predicado EXISTS.

Ejemplos:

Notas de uso

La misma columna no puede aparecer más de una vez en la cláusula SELECT.

Si no se especifica ninguna cláusula WHERE serán actualizadas todas las filas de la tabla.

Sentencia DELETE

Borra filas de una tabla.

Sintaxis

DELETE FROM tabla [WHERE condición]

Entradas

tabla: nombre de una tabla existente.

condición: se trata de una consulta SQL de selección que retorna las filas a borrar.

En el capítulo dedicado a la sentencia SELECT encontrarás información sobre la cláusula WHERE.

La condición de búsqueda en la sentencia DELETE puede ser uno de los predicados siguientes:

  • Predicado de comparación.

  • Predicado BETWEEN.

  • Predicado IN.

  • Predicado LIKE.

  • Predicado NULL.

  • Predicado de comparación cuantificada.

  • Predicado EXISTS.

Salidas

DELETE count

Mensaje retornado si los elementos son borrados satisfactoriamente. “count” es el número de filas borradas. Si es 0, querrá decir que no se ha borrado ninguna fila.

Formas de la sentencia DELETE

Forma básica: borrar todos los registros de una tabla:

Ejemplos:

Cláusula WHERE, sub consultas

Busca registros basándose en una condición y borra solamente aquellos que la cumplen. La condición de búsqueda puede tener cualesquiera predicados y sub consultas.

Ejemplos categorizados basados en predicados:

Predicado LIKE

Encontrará todas las cadenas que incluyan la cadena "Val".

Encontrará todas las cadenas que tengan 5 caracteres que comiencen por "ab" y terminen en "cd".

Encontrará todas las cadenas que comiencen por "ab%cd".

Encontrará todas las cadenas que comiencen por "ab_cd".

Encontrará todas las cadenas que comiencen por "ab\cd".

Encontrará todas las cadenas que no comiencen por "ab\cd".

Predicado de comparación

Operadores lógicos

Predicado BETWEEN

Predicado IN

Predicado NULL

Predicado de comparación cuantificada

Predicado EXISTS

Notas de uso

Si no se especifica ninguna cláusula WHERE, serán borradas todas las filas de la tabla.

Última actualización

¿Te fue útil?