Aula Semana 4 - Cláusulas Del Select

18

Click here to load reader

description

comandos select para base de datos

Transcript of Aula Semana 4 - Cláusulas Del Select

Page 1: Aula Semana 4 - Cláusulas Del Select

CONSULTAS DE DATOS EN SQL SERVER

Un comando SELECT en Transact-SQL permite recuperar datos desde una base de datos SQL Server. La mayoría 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 grabarán 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 realización de recuperación de datos en memoria.

Forma Básica

SELECT [COLUMNAS] [*] FROM Nombre_tabla WHERE Condición

Ejemplo

Select * from Clientes - Selecciona y muestra todos los registros completes de la table Clientes

Select nombre, distrito from empleados – Muestra sólo el nombre y distrito de los empleados.

Select * from Facturas where nrofactura=’f000018’ – Muestra solo la factura f000018

La cláusula SELECT

La cláusula SELECT incluye la palabra clave SELECT y la lista de selección. La lista de selección es una serie de expresiones separadas por comas. Cada expresión define una columna del conjunto de resultado. Las columnas en el conjunto de resultados estarán en el mismo orden que la secuencia de expresiones en la lista de selección.Usar palabras claves en la lista de selección.La lista de selección puede también contener palabras claves que controlen el formato final del conjunto de resultados.

Consultas de proyección: Son aquellas que permiten mostrar datos supuestos sobre estadísticas, sumatorias y/o proyecciones de datos estimados en base a los datos reales actuales recuperados en la consulta.

Consultas de Selección: Son aquellas consultas que muestran datos actuales de las tablas con el solo propósito de información para el usuario.

Los operadores relacionales son los siguientes:

= igual

<> distinto

Page 2: Aula Semana 4 - Cláusulas Del Select

> mayor

< menor

>= mayor o igual

<= menor o igual

Los operadores lógicos comprueban la veracidad de alguna condición. Éstos, como los operadores de comparación, devuelven el tipo de datos Boolean con el valor TRUE, FALSE o UNKNOWN.

Operador

Significado

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.

BETWEEN

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 patrón.

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

Page 3: Aula Semana 4 - Cláusulas Del Select

CLAUSULA LIKE: Es otra palabra clave que se utiliza en la cláusula WHERE. Básicamente, LIKE le permite hacer una búsqueda basada en un patrón 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" FROM "nombre_tabla" WHERE "nombre_columna" LIKE {patrón}

{patrón} generalmente consiste en comodines. Aquí hay algunos ejemplos:

'A_Z': Toda línea que comience con 'A', otro carácter y termine con 'Z'. Por ejemplo, 'ABZ' y 'A2Z' deberían satisfacer la condición, mientras 'AKKZ' no debería (debido a que hay dos caracteres entre A y Z en vez de uno).

ABC%': Todas las líneas que comienzan con 'ABC'. Por ejemplo, 'ABCD' y 'ABCABC' ambas deberían satisfacer la condición.

'%XYZ': Todas las líneas que terminan con 'XYZ'. Por ejemplo, 'WXYZ' y 'ZZXYZ' ambas deberían satisfacer la condición.

'%AN%': : Todas las líneas que contienen el patrón 'AN' en cualquier lado. Por ejemplo, 'LOS ANGELES' y 'SAN FRANCISCO' ambos deberían satisfacer la condición.

Ejemplos: Utilizar la BD Ventas_almacen

Ejemplo: lo resuelves tu el profesor ok------ mostrar los clientes cuyos nombres empiezan con la a'---------------select * from cliente where razCli like 'c%'

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 algún valor de una subconsulta o una lista.

Ejemplos:

-----mostrar los codigos de los distritos de lince, barranco y surco-----select * from distrito where descripcion in('lince','barranco','surco')

CLAUSULA BETWEEN:

Permite mostrar un conjunto de registros que cumplan con cierto rango de valores de búsqueda, permitiendo asignar un rango de valores numéricos y de cadena de textos para filtrar la búsqueda de registros de cierta tabla. Normalmente nos apoyamos con el operador and y/o or.

Page 4: Aula Semana 4 - Cláusulas Del Select

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 cláusula ORDER BY ordena los resultados de una consulta por una o más columnas, hasta 8.060 bytes. Para obtener más información acerca del tamaño máximo de una cláusula ORDER BY,

A partir de SQL Server 2005, SQL Server permite especificar columnas de ordenación de las tablas de la cláusula FROM que no están especificadas en la lista SELECT. Los nombres de columna a los que se hace referencia en la cláusula ORDER BY deben corresponderse con una columna de la lista SELECT o con una columna de la tabla de la cláusula FROM sin ambigüedades. Si los nombres de columna están asociados a un alias en la lista SELECT, sólo puede utilizarse el nombre de alias en la cláusula ORDER BY. De igual modo, si los nombres de tablas están asociados a un alias en la cláusula FROM, sólo pueden utilizarse los nombres de alias para calificar sus columnas en la cláusula ORDER BY.

Una ordenación puede ser ascendente (ASC) o descendente (DESC). Si no se especifica ninguna, se supone que es ASC.

Sintaxis básica:

Select columnas from tabla order by columna

Ejemplos:

--mostrar los clientes ordenados alfabéticamente-----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

Page 5: Aula Semana 4 - Cláusulas Del Select

TOP: Para rankear los valores a mostrar.

------ mostrar los 5 primeros clientes ordenados por su direccion------select top 5 * from cliente order by direccion

Distinct: Para descartar ciertos registros. La palabra clave DISTINCT elimina las filas duplicadas de los resultados de una instrucción SELECT. Si no se especifica DISTINCT, se devuelven todas las filas, incluidas las duplicadas.

------- mostrar que clientes tiene proformas------select distinct codcli from proforma

Page 6: Aula Semana 4 - Cláusulas Del Select
Page 7: Aula Semana 4 - Cláusulas Del Select
Page 8: Aula Semana 4 - Cláusulas Del Select
Page 9: Aula Semana 4 - Cláusulas Del Select
Page 10: Aula Semana 4 - Cláusulas Del Select
Page 11: Aula Semana 4 - Cláusulas Del Select
Page 12: Aula Semana 4 - Cláusulas Del Select
Page 13: Aula Semana 4 - Cláusulas Del Select
Page 14: Aula Semana 4 - Cláusulas Del Select
Page 15: Aula Semana 4 - Cláusulas Del Select
Page 16: Aula Semana 4 - Cláusulas Del Select
Page 17: Aula Semana 4 - Cláusulas Del Select