1. UNIVERSIDAD NACIONAL DE CHIMBORAZO
FACULTAD DE INGENIERIA
ESCUELA DE SISTEMAS Y COMPUTACION
TEMA:
PREDICADOS SQL
Por:
Santiago Moreno
2. Ordenar los registros(ORDER BY)
Adicionalmentese puede especificarel ordenenque se deseanrecuperarlosregistrosde las
tablasmediante laclaúsulaORDERBY Lista de Campos.En donde Listade campos representa
loscampos a ordenar.Ejemplo:
SELECT CodigoPostal,Nombre,TelefonoFROMClientesORDERBY Nombre;
Esta consultadevuelveloscamposCodigoPostal,Nombre,Telefonode latablaClientes
ordenadosporel campo Nombre.
Se puedenordenarlosregistrospormasde uncampo, comopor ejemplo:
SELECT CodigoPostal,Nombre,TelefonoFROMClientesORDERBY
CodigoPostal,Nombre;
Inclusose puede especificarel ordende losregistros:ascendente mediantelaclaúsula(ASC -se
toma este valorpordefecto) ódescendente (DESC)
SELECT CodigoPostal,Nombre, TelefonoFROMClientesORDERBY
CodigoPostal DESC,Nombre ASC;
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,ApellidoFROMEstudiantes
ORDER BY NotaDESC;
Si no se incluye la cláusula ORDER BY, la consulta devolverá un conjunto arbitrario de 25
registrosde latabla Estudiantes.El predicadoTOPnoelige entre valoresiguales.Enel ejemplo
anterior,si lanota media número 25 y la 26 son iguales, la consulta devolverá 26 registros. Se
puede utilizar la palabra reservada PERCENT para devolver un cierto porcentaje de registros
que caen al principiooal final de unrango especificadoporlacláusulaORDER BY. Supongamos
que en lugar de los 25 primeros estudiantes deseamos el 10 por ciento del curso:
SELECT TOP 10 PERCENTNombre,ApellidoFROMEstudiantes
ORDER BY NotaDESC;
El valorque va a continuaciónde TOPdebe serun Integersinsigno.TOPnoafectaala posible
actualizaciónde laconsulta.
3. LIKE
Realizaunacomparaciónde coincidenciade patronesenlacolumnaespecificada.
Ejemplo:
WHERE <column>LIKE <wildcard_literal>
BETWEEN
La palabraclave BETWEEN permite laselecciónde unrango.La sintaxisparalacláusula
BETWEEN es la siguiente:
SELECT "nombre_columna"
FROM"nombre_tabla"
WHERE "nombre_columna" BETWEEN 'valor1' AND'valor2';o In
La palabraclave IN ayuda a laspersonasa limitarel criteriode selecciónparaunoo más
valoresdiscretos
DISTINCT
Omite losregistrosque contienendatosduplicadosenloscamposseleccionados. Para que los
valores de cada campo listado en la instrucción SELECT se incluyan en la consulta deben ser
únicos.
Por ejemplo,variosempleadoslistadosenlatablaEmpleadospuedentenerel mismoapellido.
Si dos registroscontienenLópezenel campoApellido,lasiguiente instrucciónSQLdevuelveun
único registro:
SELECT DISTINCT Apellido FROMEmpleados;
Con otras palabrasel predicadoDISTINCTdevuelve aquellos registros cuyos campos indicados
enla cláusulaSELECT poseanuncontenido diferente. El resultado de una consulta que utiliza
DISTINCT no es actualizable y no refleja los cambios subsiguientes realizados por otros
usuarios.
HAVING
Especifica una condición de búsqueda para un grupo o agregado. HAVING sólo se puede
utilizarconla instrucciónSELECT.Normalmente,HAVINGse utiliza en una cláusula GROUP BY.
Cuando no se utiliza GROUP BY, HAVING se comporta como una cláusula WHERE.
En el ejemplose utilizaunacláusulaHAVINGsimple,se recuperael total de cada SalesOrderID
de la tabla SalesOrderDetail que exceda $100000.00USE AdventureWorks ;GO
SELECT SalesOrderID, SUM(LineTotal) AS SubTotal
FROMSales.SalesOrderDetail
GROUP BY SalesOrderID
HAVING SUM(LineTotal) > 100000.00
ORDER BY SalesOrderID ;