Sei sulla pagina 1di 17

CONSULTAS DE DATOS EN SQL SERVER

Un comando SELECT en Transact-SQL permite recuperar datos desde una base de


datos SQL Server. La mayora de los comandos SELECT incluyen cuatro propiedades
primarias del conjunto de resultados:

La columnas a ser incluidas en el conjuntos de resultados.

Las tablas de donde se grabarn los datos del conjunto de resultados

Las condiciones que las filas de las tablas fuentes deben cumplir para ser
incluidas en el conjunto de resultado.

El ordenamiento de las filas en el conjunto de resultados.

La sentencia Select es la mas poderosa de las sentencia SQL, permite


realizar consultas a los registros de la base de datos, su sintaxis posee
muchas variantes para la realizacin de recuperacin de datos en memoria.
Forma Bsica
SELECT [COLUMNAS] [*] FROM Nombre_tabla WHERE Condicin
Ejemplo
Select * from Clientes - Selecciona y muestra todos los registros completes
de la table Clientes
Select nombre, distrito from empleados Muestra slo el nombre y distrito
de los empleados.
Select * from Facturas where nrofactura=f000018 Muestra solo la factura
f000018
La clusula SELECT
La clusula SELECT incluye la palabra clave SELECT y la lista de seleccin. La lista
de seleccin es una serie de expresiones separadas por comas. Cada expresin
define una columna del conjunto de resultado. Las columnas en el conjunto de
resultados estarn en el mismo orden que la secuencia de expresiones en la lista de
seleccin.
Usar
palabras
claves
en
la
lista
de
seleccin.
La lista de seleccin puede tambin contener palabras claves que controlen el
formato final del conjunto de resultados.

Consultas de proyeccin: Son aquellas que permiten mostrar datos


supuestos sobre estadsticas, sumatorias y/o proyecciones de datos
estimados en base a los datos reales actuales recuperados en la consulta.
Consultas de Seleccin: Son aquellas consultas que muestran datos
actuales de las tablas con el solo propsito de informacin para el usuario.
Los operadores relacionales son los siguientes:

igual

<>

distinto

>

mayor

<

menor

>=

mayor o igual

<=

menor o igual

Los operadores lgicos comprueban la veracidad de alguna condicin. stos, como


los operadores de comparacin, devuelven el tipo de datos Boolean con el valor
TRUE, FALSE o UNKNOWN.

Operado Significado
r
ALL

TRUE si el conjunto completo de comparaciones es TRUE.

AND

TRUE si ambas expresiones booleanas son TRUE.

ANY

TRUE si cualquier miembro del conjunto de comparaciones es TRUE.

BETWEE
N

TRUE si el operando est dentro de un intervalo.

EXISTS

TRUE si una subconsulta contiene cualquiera de las filas.

IN

TRUE si el operando es igual a uno de la lista de expresiones.

LIKE

TRUE si el operando coincide con un patrn.

NOT

Invierte el valor de cualquier otro operador booleano.

OR

TRUE si cualquiera de las dos expresiones booleanas es TRUE.

SOME

TRUE si alguna de las comparaciones de un conjunto es TRUE.

Ejercicios:
------ mostrar los datos del cliente 3 (usando operadores)------select * from cliente where codCli='c0003'
--mostrar ahora los datos de los clientes 6 y 10-------select * from cliente where codCli='c0006' or codCli='c0010'

----- explicas la diferencia entre usar and(y) y el or(o)----------- mostrar las proformas cuyo total sea mayor a 250 soles---select * from Proforma where total>250

CLAUSULA LIKE: Es otra palabra clave que se utiliza en la clusula WHERE.


Bsicamente, LIKE le permite hacer una bsqueda basada en un patrn en
vez de especificar exactamente lo que se desea (como en IN) o determinar
un rango (como en BETWEEN). La sintaxis es la siguiente:
SELECT
"nombre_columna"
"nombre_columna" LIKE {patrn}

FROM

"nombre_tabla"

WHERE

{patrn} generalmente consiste en comodines. Aqu hay algunos ejemplos:


'A_Z': Toda lnea que comience con 'A', otro carcter y termine con 'Z'. Por
ejemplo, 'ABZ' y 'A2Z' deberan satisfacer la condicin, mientras 'AKKZ' no
debera (debido a que hay dos caracteres entre A y Z en vez de uno).
ABC%': Todas las lneas que comienzan con 'ABC'. Por ejemplo, 'ABCD' y
'ABCABC' ambas deberan satisfacer la condicin.
'%XYZ': Todas las lneas que terminan con 'XYZ'. Por ejemplo, 'WXYZ' y
'ZZXYZ' ambas deberan satisfacer la condicin.
'%AN%': : Todas las lneas que contienen el patrn 'AN' en cualquier lado.
Por ejemplo, 'LOS ANGELES' y 'SAN FRANCISCO' ambos deberan satisfacer
la condicin.
Ejemplos: Utilizar la BD Ventas_almacen
Ejemplo: lo resuelves tu el profesor ok
-----mostrar
los
clientes
cuyos
nombres
a'--------------select * from cliente where razCli like 'c%'

empiezan

con

la

Ejercicios: para que resuelvan los alumnos al inicio, luego das las
respuestas correctas. Ok.
------ mostrar a aquellos empleados cuyos nombres se encuentren entre
la a y la m al inicio'---------select * from personal where nomper like 'a%' or nomper like 'm%'
------ mostrar el codigo del distrito lince --------select codis from distrito where descripcion like 'lince'

CLAUSULA IN: Determina si un valor determinado coincide con algn valor


de una subconsulta o una lista.
Ejemplos:
-----mostrar los codigos de
surco----select
*
from
in('lince','barranco','surco')

los

distritos

distrito

de

lince,

where

barranco

descripcion

CLAUSULA BETWEEN:
Permite mostrar un conjunto de registros que cumplan con cierto rango de valores
de bsqueda, permitiendo asignar un rango de valores numricos y de cadena de
textos para filtrar la bsqueda de registros de cierta tabla. Normalmente nos
apoyamos con el operador and y/o or.
Ejemplos:
------ mostrar los clientes cuyos nombres se ubiquen entre la c y la f
al inicio---select * from cliente where razCli between 'c%' and 'f%'
---- mostrar aquellas proformas cuyos total se ubiquen entre los 200 y
500 soles--------select * from Proforma where total between 200 and 500
----- mostrar las proformas que hayan sido generadas entre enero y
abril del 2011------select * from Proforma where fecha between '01/01/2011' and
'30/04/2011'

CLAUSULA ORDER BY:


La clusula ORDER BY ordena los resultados de una consulta por una o ms
columnas, hasta 8.060 bytes. Para obtener ms informacin acerca del tamao
mximo de una clusula ORDER BY,
A partir de SQL Server 2005, SQL Server permite especificar columnas de
ordenacin de las tablas de la clusula FROM que no estn especificadas en la lista
SELECT. Los nombres de columna a los que se hace referencia en la clusula ORDER
BY deben corresponderse con una columna de la lista SELECT o con una columna de
la tabla de la clusula FROM sin ambigedades. Si los nombres de columna estn
asociados a un alias en la lista SELECT, slo puede utilizarse el nombre de alias en
la clusula ORDER BY. De igual modo, si los nombres de tablas estn asociados a un
alias en la clusula FROM, slo pueden utilizarse los nombres de alias para calificar
sus columnas en la clusula ORDER BY.
Una ordenacin puede ser ascendente (ASC) o descendente (DESC). Si no se
especifica ninguna, se supone que es ASC.
Sintaxis bsica:
Select columnas from tabla order by columna

Ejemplos:
--mostrar los clientes ordenados alfabticamente----select * from cliente order by razcli
--- ahora desde la z a la a (descendentemente----select * from cliente order by razcli desc

--- ver las proformas desde el mayor hasta el menos monto---select * from Proforma order by total desc
--- mostrar el codigo, nombre y direccion del cliente ordenados seg
su distrito-----select codcli, razcli, direccion from cliente order by codis
---- mostrar los empleados masculinos ascendentemente ---select * from personal where sexo='m' order by codPer asc
TOP: Para rankear los valores a mostrar.
-----mostrar
los
5
primeros
clientes
direccion-----select top 5 * from cliente order by direccion

ordenados

por

su

Distinct: Para descartar ciertos registros. La palabra clave DISTINCT elimina las filas
duplicadas de los resultados de una instruccin SELECT. Si no se especifica
DISTINCT, se devuelven todas las filas, incluidas las duplicadas.
------- mostrar que clientes tiene proformas-----select distinct codcli from proforma

Potrebbero piacerti anche