Sentencias_sql

Páginas: 33 (8201 palabras) Publicado: 26 de septiembre de 2013
Sentencias SQL
Consultas de Selección
Bases de datos-SQL-Sentencias SQL-Consultas de Selección
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 que se pueden almacenar en un
objeto recordset. Este conjunto de registros puede ser modificable.
Consultas básicasLa sintaxis básica de una consulta de selección es la siguiente:

SELECT
Campos

FROM
Tabla
En donde campos es la lista de campos que se deseen recuperar y tabla es el origen de los mismos, por
ejemplo:

SELECT
Nombre, Teléfono

FROM
Clientes
Esta sentencia devuelve un conjunto de resultados con el campo nombre y teléfono de la tabla clientes.
Devolver Literales
En determinadasocasiones 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 las
tarifas semanales de los electricistas, podríamos realizar la siguiente consulta:

SELECT
Empleados.Nombre, 'Tarifa semanal: ', Empleados.TarifaHora * 40

FROM
Empleados

WHERE
Empleados.Cargo = 'Electricista'Ordenar los registros
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
CodigoPostal, Nombre, Telefono

FROM
Clientes

ORDER BY

1

Nombre
Esta consulta devuelve los campos CodigoPostal, Nombre, Telefono de latabla Clientes ordenados por el
campo Nombre.
Se pueden ordenar los registros por mas de un campo, como por ejemplo:

SELECT
CodigoPostal, Nombre, Telefono

FROM
Clientes

ORDER BY
CodigoPostal, Nombre
Incluso se puede especificar el orden de los registros: ascendente mediante la cláusula (ASC - se toma este
valor por defecto) ó descendente (DESC)

SELECT
CodigoPostal, Nombre,Telefono

FROM
Clientes

ORDER BY
CodigoPostal DESC , Nombre ASC
Uso de Indices de las tablas
Si deseamos que la sentecia SQL utilice un índice para mostrar los resultados se puede utilizar la palabra
reservada INDEX de la siguiente forma:
SELECT ... FROM Tabla (INDEX=Indice) ...
Normalmente los motores de las bases de datos deciden que indice se debe utilizar para la consulta, para
elloutilizan criterios de rendimiento y sobre todo los campos de búsqueda especificados en la cláusula
WHERE. Si se desea forzar a no utilizar ningún índice utilizaremos la siguiente sintaxis:
SELECT ... FROM Tabla (INDEX=0) ...
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

ALLDevuelve 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

DISTINCTOW

Omite los registros duplicados basandose en la totalidad del registro y no sólo en los
campos seleccionados.

ALL

2

Si no se incluye ninguno de los predicados se asume ALL. El Motorde 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 ALL
FROM
EmpleadosSELECT *
FROM
Empleados
TOP
Devuelve un cierto número de registros que entran entre al principio o al final de un rango especificado por
una cláusula ORDER BY. Supongamos que queremos recuperar los nombres de los 25 primeros
estudiantes del curso 1994:

SELECT TOP 25
Nombre, Apellido

FROM
Estudiantes

ORDER BY
Nota DESC
Si no se incluye la cláusula ORDER BY, la consulta...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS