ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Consultas Basicas En SQL


Enviado por   •  28 de Mayo de 2013  •  1.945 Palabras (8 Páginas)  •  562 Visitas

Página 1 de 8

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS DE SELECCION

Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de

las bases de datos, esta información es devuelta en forma de conjunto de registros.

Consultas básicas

La sintaxis básica de una consulta de selección 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 después “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 “teléfono” de la

tabla “empleados”.

Devolver Literales

En determinadas ocasiones nos puede interesar incluir una columna con un texto fijo en una

consulta de selección, por ejemplo, supongamos que tenemos una tabla de Empleados y

deseamos recuperar los nombres y teléfonos y una columna fija que diga el nombre de la

empresa, podríamos 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 cláusula ORDER BY Lista de Campos. En donde Lista de campos representa los

campos a ordenar. Ejemplo:

SELECT Código, Nombres, Telefono, ‘Credomatic’ FROM Empleados ORDER

BY Nombres

Esta consulta devuelve los campos Código, Nombres, Telefono de la tabla Empleados ordenados

por el campo Nombres.

Se pueden ordenar los registros por más de un campo, como por ejemplo:

2

Fuente: Libros en pantalla de SQL Server 2008 de Microsoft Corporation (Edición de Enero de 2009)

SELECT Código, Nombres, Telefono, ‘Credomatic’ FROM Empleados

ORDER BY Código, Nombres

Incluso se puede especificar el orden de los registros: ascendente mediante la cláusula (ASC - se

toma este valor por defecto) ó descendente (DESC)

SELECT Código Nombres, Telefono, ‘Credomatic’ FROM Empleados ORDER BY Código DESC , Nombres ASC

CONSULTAS CON PREDICADO

El predicado se incluye entre la cláusula y el primer nombre del campo a recuperar, los posibles

predicados son:

Predicado Descripción

(*) Devuelve todos los campos de la tabla.

(TOP) Devuelve un determinado número de registros de la tabla.

(DISTINCT) Omite los registros cuyos campos seleccionados coincidan totalmente.

(*)

El Motor de base de datos selecciona todos los registros que cumplen las condiciones de la

instrucción SQL y devuelve todos y cada uno de sus campos.

No es conveniente abusar de este predicado ya que obligamos al motor de la base de datos a analizar la estructura de la tabla para averiguar los campos que contiene, es mucho más rápido indicar el listado de campos deseados.

SELECT * FROM Empleados

(TOP)

Devuelve un cierto número de registros que entran entre el principio o el final de un rango

especificado por una cláusula ORDER BY. Supongamos que queremos recuperar los nombres de los

25 últimos empleados ingresados a la empresa

SELECT TOP 25 codigo,nombres,telefono, 'Credomatic' FROM Empleados ORDER BY Codigo DESC

Si no se incluye la cláusula ORDER BY, la consulta devolverá un conjunto arbitrario de 25 registros

de la tabla de Empleados. El predicado TOP no elige entre valores iguales. Se puede utilizar la

palabra reservada PERCENT para devolver un cierto porcentaje de registros que caen al principio o

al final de un rango especificado por la cláusula ORDER BY. Supongamos que en lugar de los 25

últimos empleados deseamos el 10 por ciento de los empleados ingresados recientemente a la

empresa:

3

Fuente: Libros en pantalla de SQL Server 2008 de Microsoft Corporation (Edición de Enero de 2009)

SELECT Top 10 percent codigo,nombres,telefono, 'Credomatic' FROM Empleados

ORDER BY Codigo DESC

El valor que va a continuación de TOP debe ser un entero sin signo. TOP no afecta a la posible

actualización 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 instrucción 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 López en el campo Apellido, la siguiente instrucción 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 cláusula 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.

Tomado 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 procederíamos de la siguiente forma:

SELECT Prim_Apellido AS Empleado FROM Empleados

También podemos asignar alias a las tablas dentro de la consulta de selección, 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 técnica será de gran utilidad más adelante cuando se

estudien las vinculaciones entre tablas. Por ejemplo:

SELECT Prim_Apellido Empleado FROM Empleados Trabajadores

También 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

...

Descargar como (para miembros actualizados) txt (13 Kb)
Leer 7 páginas más »
Disponible sólo en Clubensayos.com