Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SERVER
CONSULTAS DE SELECCION
Las consultas de seleccin se utilizan para indicar al motor de datos que devuelva informacin de
las bases de datos.Esta informacin es devuelta en forma de conjunto de registros.
La sintaxis bsica de una consulta de seleccin es la siguiente:
SELECT Campos FROM Tabla
SELECT * FROM Tabla
En donde campos, es la lista de campos que se deseen recuperar, si fuesen todos los campos a
utilizar colocar * y despus tabla, es el origen de los mismos, por ejemplo:
SELECT Nombres, Telefono FROM empleados
Esta sentencia devuelve un conjunto de resultados con el campo nombres y telfono de la
tabla empleados.
Devolver Literales
En determinadas ocasiones, nos puede interesar incluir una columna con un texto fijo en una
consulta de seleccin, por ejemplo, supongamos que tenemos una tabla de Empleados y deseamos
recuperar los nombres y telfonos y una columna fija que diga el nombre de la empresa, podramos
realizar la siguiente consulta:
SELECT Nombres, Telefono , 'Credomatic' FROM Empleados
Adicionalmente, se puede especificar el orden en que se desean recuperar los registros de las
tablas mediante la clusula ORDER BY Lista de Campos. En donde Lista de campos representa los
campos a ordenar. Ejemplo:
SELECT Cdigo, Nombres, Telefono, Credomatic FROM Empleados
ORDER BY Nombres
Devolver Literales
Esta consulta devuelve los campos Cdigo, Nombres, Telefono de la tabla Empleados ordenados
por el campo Nombres.
Se pueden ordenar los registros por ms de un campo, como por ejemplo:
SELECT Top 10 percent codigo,nombres,telefono, 'Credomatic' FROM
Empleados
ORDER BY Codigo DESC
El valor que va a continuacin de TOP debe ser un entero sin signo. TOP no afecta a
la posible actualizacin de la consulta.
(DISTINCT)
Omite los registros que contienen datos duplicados en los campos seleccionados.
Para que los valores de cada campo listado en la instruccin SELECT se incluyan en la consulta
deben ser nicos. Por ejemplo, varios empleados listados en la tabla Empleados pueden tener el
mismo apellido. Si dos registros contienen Lpez en el campo Apellido, la siguiente instruccin SQL
devuelve un nico registro:
SELECT DISTINCT Prim_Apellido FROM Empleados
Con otras palabras, el predicado DISTINCT devuelve aquellos registros cuyos campos indicados en la
clusula SELECT posean un contenido diferente. El resultado de una consulta que utiliza DISTINCT
no es actualizable.
ALIAS
En determinadas circunstancias, es necesario asignar un nombre a alguna columna determinada de un
conjunto devuelto, otras veces por simple capricho o porque estamos recuperando datos de diferentes tablas y
resultan tener un campo con igual nombre. Para resolver todas ellas, tenemos la palabra reservada AS que se
encarga de asignar el nombre que deseamos a la columna deseada. Tomando como referencia el ejemplo
anterior, podemos hacer que la columna devuelta por la consulta, en lugar
de llamarse prim_apellido (igual que el campo devuelto) se llame Empleado. En este caso, procederamos de
la siguiente forma:
SELECT Prim_Apellido AS Empleado FROM Empleados
Tambin podemos asignar alias a las tablas dentro de la consulta de seleccin, en esta caso, hay que tener en
cuenta que en todas las referencias que deseemos hacer a dicha tabla se ha de utilizar el alias en lugar del
nombre. Esta tcnica ser de gran utilidad ms adelante cuando se estudien las vinculaciones entre tablas. Por
ejemplo:
SELECT Prim_Apellido Empleado FROM Empleados Trabajadores
Tambin se puede asignar alias a las tablas y campos en ORACLE y SQL-SERVER escribiendo el nombre de la
tabla o el campo, dejando un espacio en blanco y escribiendo el Alias.
SELECT Trabajadores.Apellido (1) AS Empleado FROM Empleados
Trabajadores
Esta nomenclatura [Tabla].[Campo] se debe utilizar cuando se est recuperando un campo cuyo nombre se
repite en varias de las tablas que se utilizan en la sentencia. No obstante, cuando en la sentencia se emplean
varias tablas es aconsejable utilizar esta nomenclatura para evitar el trabajo que supone al motor de datos
averiguar en qu tabla est cada uno de los campos indicados en la clusula SEL
CONSULTAS DE ACCION
Las consultas de accin son aquellas que no devuelven ningn registro. Son las encargadas de acciones como
aadir y borrar, y modificar registros. Tanto las sentencias de actualizacin como las de borrado
desencadenarn (segn el motor de datos) las actualizaciones en cascada, borrados en cascada, restricciones
y valores por defecto definidos para los diferentes campos o tablas
afectadas por la consulta.
(DELETE)
Crea una consulta de eliminacin que elimina los registros de una o ms de las tablas listadas en la clusula
FROM que satisfagan la clusula WHERE. Esta consulta elimina los registros completos. No es posible eliminar
el contenido de algn campo en concreto. Su sintaxis es la siguiente:
DELETE FROM Tabla WHERE criterio
Una vez que se han eliminado los registros utilizando una consulta de borrado, no puede deshacer la
operacin. Si desea saber qu registros se eliminarn, primero examine los resultados de una consulta de
seleccin que utilice el mismo criterio y despus ejecute la consulta de borrado. Mantenga copias de
seguridad de sus datos en todo momento. Si elimina los registros equivocados podr recuperarlos desde las
copias de seguridad.
Ejemplo:
DELETE FROM Empleados WHERE cdigo = '1001 (INSERT INTO)
Agrega un registro en una tabla. Se le conoce como una consulta de datos aadidos.
Esta consulta puede ser de dos tipos: Insertar un nico registro Insertar en una tabla los registros
contenidos en otra tabla. Para insertar un nico registro, en este caso la sintaxis es la siguiente:
INSERT INTO Tabla (campo1, campo2, ..., campoN) VALUES (valor1, valor2, ..., valorN)
OPERACIONES DE UPDATE
Crea una consulta de actualizacin que cambia los valores de los campos de una tabla
especificada basndose en un criterio especfico. Su sintaxis es la siguiente:
UPDATE Tabla SET Campo1=Valor1, Campo2=Valor2, CampoN=ValorN WHERE Criterio
UPDATE es, especialmente, til cuando se desea cambiar un gran nmero de registros o cuando
stos se encuentran en mltiples tablas. Puede cambiar varios campos a la vez. El ejemplo
siguiente incrementa los valores Cantidad pedidos en un 10 por ciento y los valores Transporte en
un 3 por ciento para aquellos que se hayan enviado al Reino Unido.:
UPDATE Pedidos SET Pedido = Pedidos * 1.1, Transporte = Transporte * 1.03 WHERE PaisEnvo = 'ES'
UPDATE no genera ningn resultado. Para saber qu registros se van a cambiar, hay que examinar
primero el resultado de una consulta de seleccin que utilice el mismo criterio y despus ejecutar
la consulta de actualizacin.
Si en una consulta de actualizacin suprimimos la clusula WHERE, todos los registros de la tabla
sern actualizados.
UPDATE Empleados SET Salario = Salario * 1.1