Sentencias_sql
Páginas: 33 (8201 palabras)
Publicado: 26 de septiembre de 2013
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.