Cursos subvencionados para trabajadores
Realiza el curso gratis a través de tu empresa.
Cursos SubvencionadosComo ya hemos comentado el lenguaje de manipulación de datos que permite gestionar la información de las bases de datos. Las sentencias principales de este lenguaje son:
En esta unidad comenzaremos explicando la sentencia INSERT que nos permite añadir registros a nuestras tablas, de modo que luego podamos realizar nuestros ejemplos de la sentencia SELECT con los registros que vamos a añadir.
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de ASP NET 2.0 Avanzado y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
La sentencia INSERT se utiliza para añadir nuevos registros a las tablas. Su sintaxis es la siguiente:
INSERT INTO nombre_tabla
(columna1, columna2,..., columnaN)
VALUES (valor1, valor2, ..., valorN)
En la sintaxis vemos que introducimos el nombre de la tabla en la que vamos a añadir las siguientes valores para las columnas que especificamos entre paréntesis. La lista de valores que vamos a introducir se colocan entre paréntesis después de la sentencia VALUES. El orden debe corresponder con el de las columnas. En caso de introducir un valor no válido en alguna de las columnas se produce un error y el registro no se añade.
Vamos a añadir dos vehículos a nuestra tabla Vehículos:

En la segunda sentencia no hemos introducido las columnas en las que vamos a incluir los datos, ya que si vamos a añadir valores para todas las columnas de un registro, no es necesario indicar las columnas.
Observa que los valores de cadena se introducen con comilla simple y no dobles.
Debes recordar que si una columna es autoincremental no debemos especificar el valor aquí tampoco.
Si todo ha ido correctamente, SQL Server nos indica el número de columnas que se han visto afectadas:

Vamos a añadir los registros para nuestro ejemplo:
Oficinas y Empleados:

Reservas:

Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de ASP NET 2.0 Avanzado y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
La sentencia SELECT permite obtener la información almacenada en nuestras tablas. Su sintaxis general es la siguiente:
SELECT <columnas> FROM tablas
Después de la sentencia SELECT se introducen el nombre de las columnas a las que queremos acceder, en caso de estar consultando varias tablas se introduce primero el nombre de la tabla a la que pertenece la columna y se separa con un punto del nombre de la columna:
nombre_tabla.nombre_columna
Si vamos a acceder a todas las columnas de la tabla se utiliza el operador *.
Seguido de la cláusula FROM se introducen el nombre de las tablas a las que vamos a acceder separándolas con una coma.
Si por ejemplo queremos recoger todos los registros de nuestra tabla empleados:

Y si nos interesa únicamente los nombres y apellidos de nuestros empleados:

Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de ASP NET 2.0 Avanzado y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Una consulta que incluye una clave primaria, los resultados obtenidos serán único, pero si tenemos el caso de que una consulta no incluye una clave primara puede darse el caso de obtener filas repetidas.
Si por ejemplo listamos el campo codOficina de la tabla empleados obtenemos:

Si añadimos la cláusula DISTINCT, evitamos la duplicación de resultados:

Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de ASP NET 2.0 Avanzado y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Tenemos la posibilidad de ordenar los resultados que obtenemos mediante la cláusula ORDER BY. Además podemos indicar si deseamos que se ordene de modo ascendente (ASC) o descendente (DESC). Por defecto se ordena en modo ascendente.

Si deseamos ordenar por más de un campo, podemos separas las expresiones de ordenación por comas. En el siguiente ejemplo mostramos el salario y el nombre del empleado, ordenados en orden descendente por salario y en caso de coincidir por orden ascendente del nombre. Observa la posición de las filas 6 y 7 como han quedado ordenadas al coincidir el salario:

Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de ASP NET 2.0 Avanzado y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Mediante la cláusula AS, podemos utilizar en la salida de columnas de resultado, nombre distintos a los reales dados en las tablas. Lo que hacemos es dar un alías para distinguir una determinada columna con un nombre modificado.
SELECT nombre_columna AS 'Nuevo_nombre' FROM tabla
En el siguiente ejemplo renombramos la columna nombre con Empleado, observa como en la zona de resultados se modifica:

Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de ASP NET 2.0 Avanzado y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Con SQL podemos utilizar columnas que son el resultado de una serie de operaciones. En el siguiente ejemplo, duplicamos el salario de los empleados y le damos el nombre de Salario2:

También podemos realizar operaciones entre columnas. En este ejemplo unimos el nombre del empleado y su apellido mediante un guión:

Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de ASP NET 2.0 Avanzado y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
La cláusula WHERE permite introducir una serie de condiciones sobre los valores de los campos de los registros, para recoger sólo aquellos registros que cumplan esa condición. Estas condiciones suelen denominarse contrastes de comparación. Tenemos los siguientes contrastes de comparación:
| Contraste de comparación: | Descripción: |
|---|---|
| Contraste de comparación |
Comparan el valor de una expresión con el valor de otra. |
| Contrastes de rango | Comprueba si el valor se encuentra entre unos límites. |
| Contrastes de pertenencia a un grupo. | Comprueba si el valor de una expresión pertenece a un determinado grupo. |
| Contrastes de correspondencia de patrón. | Comprueba si los datos cumplen con un patrón dado. |
| Contrastes de valor nulo. | Comprueba si alguna de las columnas contiene el valor nulo. |
Con estas condiciones SQL compara los valores dados entre dos expresiones para cada registro.
Los operadores de comparación que tenemos a nuestra disposición son:
| Operador: | Descripción: |
|---|---|
| = |
Compara si los valores son iguales. |
| < | Compara si una expresión es menor que otra. |
| > | Compara si una expresión es mayor que otra. |
| <= | Compara si una expresión es menor o igual que otra. |
| >= | Compara si una expresión es mayor o igual que otra. |
| <> | Compara si las dos expresiones son distintas. |
La sintaxis es la siguiente:
SELECT <columnas> FROM <tablas> WHERE expresion1 operador expresion2
En el siguiente ejemplo se muestran todos los empleados que superen un salario mayor o igual que 1200:

El contraste de rango comprueba si un valor se encuentra entre dos valores determinados. Para realizar esta comparación contamos con la cláusula Between...AND
Como ejemplo vamos a mostrar aquellos empleados nacidos entre el 1 de enero de 1960 y el 31 de diciembre de 1969:

Este tipo de condición comprueba si el valor de una determinada expresión aparece en una lista de valores determinada. Para esta tarea utilizaremos la cláusula IN
En el siguiente ejemplo mostramos aquellos empleados que tengan un salario que coincida con la siguiente lista de valores: {1000, 1200}

Este tipo de consultas devuelve los registros para el que el valor de una columna de texto se corresponde con una expresión dada. La cláusula LIKE, permite este tipo de comparaciones, y utiliza el operador % como comodín. El símbolo % se sustituye por cualquier conjunto de caracteres.
En el siguiente ejemplo mostramos aquellos trabajadores que comiencen por la letra R:

Ahora modificamos la consulta para mostrar aquellos empleados donde su apellido aparezca la letra R, sin importar donde:

Otro comodín que utiliza la cláusula LIKE es el guión bajo '_' que representa la posición de un carácter. El símbolo % permite cualquier número de caracteres, y toma como coincidencia la ausencia de caracteres, en cambio el símbolo '_' permite sólo un único carácter coincidente.
En el siguiente ejemplo se obtienen los registros de la tabla Empleados cuyo campo Apellidos contenga una cadena donde la segunda letra sea una 'a':

La cláusula IS NULL devuelve aquellos registros que tienen una columna determinada con valor nulo, para la operación opuesta tenemos la cláusula IS NOT NULL. En el siguiente ejemplo se muestra aquellos empleados que no tienen un valor nulo en campo codOficina, es decir aquellos empleados que tienen asignada una oficina (en este caso todos).
![]()
Es muy frecuente el uso de consultas que requieren más de una condición de búsqueda. Los operadores AND, OR y NOT, pueden combinarse para unir condiciones que utilicen las reglas de la lógicas para obtener un único resultado.
En el siguiente ejemplo se muestran aquellos empleados que tengan un salario superior a 1200 y hayan nacido antes de la fecha '01/01/1970':

Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de ASP NET 2.0 Avanzado y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Mediante la cláusula UNION podemos unir los resultados de dos o más tablas en una única tabla. En el siguiente ejemplo mostramos en una única tabla los salarios de los empleados y los kilómetros realizados en las reservas de vehículos:

Puedes ver que toma como nombre de columna el de la primera consulta, en este caso salario.
Por defecto este tipo de consultas elimina los valores duplicados, para evitar esto podemos añadir el operador ALL a la cláusula UNION como ves en el siguiente ejemplo:

Condiciones para utilizar el operador UNION:
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de ASP NET 2.0 Avanzado y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Copyright 2008© ADRInfor S.L. Logroño | Tel: 941250116 Fax: 941236805 | Email | Politica de Privacidad