1.57k likes | 1.78k Views
SICI-4030 Base de Datos. Prof. Nelliud D. Torres SQL - Introductorio – DML Directiva SELECT. CONTENIDO. FORMATO BÁSICO DEL SELECT PARA UNA O MÁS TABLAS SELECT STATEMENT ALGEBRA RELACIONAL INFORMACIÓN ADICIONAL Y EJEMPLOS DE SELECT USO DEL SELECT CON: WHERE ALIAS
E N D
SICI-4030Base de Datos Prof. Nelliud D. Torres SQL - Introductorio – DML Directiva SELECT
CONTENIDO • FORMATO BÁSICO DEL SELECT PARA UNA O MÁS TABLAS • SELECT STATEMENT • ALGEBRA RELACIONAL • INFORMACIÓN ADICIONAL Y EJEMPLOS DE SELECT • USO DEL SELECT CON: • WHERE • ALIAS • OPERADORES DE COMPARACIÓN (=, >, <, >=, <=, <>, !=) • OPERADORES LÓGICOS (AND, OR, NOT) • OPERADOR BETWEEN • COLUMNAS CALCULADAS • OPERADOR LIKE • OPERADOR IN • OPERADOR DISTINTC • SORT • GROUP BY • HAVING • FUNCIONES • Single Values • ROUND • NLV • TRUNC & SYSDATE • MOD • Group of Values • AVERAGE (AVG) • MAX & MIN • COUNT • SUM • Operaciones aritméticas en consultas • Operaciones alfanuméricas en consultas • Comandos de actualizaciones • Practica de Laboratorio
SELECT PARA UNA O MÁS TABLAS Volver a los Objetivos
Sintaxis básica para las consultas para una sola entidad (tabla): SELECT atributos FROM entidad WHERE condición GROUP BY atributos HAVING condición ORDER BY atributos; Solamente el SELECT y el FROM son obligatorios Siempretermina con punto y coma (;).
Sintaxis para las consultas de dos o más entidades (tablas): SELECT atributos (columnas, campos) FROM Tabla_1, Tabla_2,… ON condición JOIN WHERE condición GROUP BY atributos HAVING condición ORDER BY atributos;
SELECT STATEMENT Volver a los Objetivos
SELECT Statement • Se utiliza para hacer queries a una tabla sencilla o a múltiples tablas • Las clausulas más importantes son: • SELECT • List a las columnas y expresiones que deben ser devueltos por el query • FROM • Indica la(s) tabla(s) o view(s) de donde se va a btener los datos • WHERE • Indica las condiciones en las que una fila debe ser incluida en el resultado • GROUP BY • Indica la categoría de los resultados • HAVING • Indica las condiciones bajo las cuales una categoría (grupo) será incluida • ORDER BY • Organiz (Sort) el resultado de aucerdo a un criterio especificado. Pag: 309
ALGEBRA RELACIONAL Volver a los Objetivos
ALGEBRA RELACIONAL • La instrucción SELECT combina las tres operaciones relacionales básicas del álgebra relacional. • Estas operaciones son: • Proyección (π) • Selección (σ) • Join (|x|)
ALGEBRA RELACIONAL (Cont.) • La expresión relacional πa,b,c (R) en SQL se escribiría: SELECT a,b,c FROM R • La expresión relacional πa,b,c (σ condición R) en SQL se escribiría: SELECT a,b,c FROM R WHERE condición;
ALGEBRA RELACIONAL (Cont.) • La expresión relacional πa,b,c (R|x|S) en SQL se escribiría: SELECT a,b,c FROM R,S WHERE R.c = S.c; Ojo Esta expresión provee un resultado en donde une dos tablas.
ALGEBRA RELACIONAL (Cont.) • La expresión relacional πa,b,c (σ condición R|x|S) en SQL se escribiría: SELECT a,b,c FROM R,S WHERE R.c = S.c AND condición; Aquí se están relacionando dos tablas utilizando el PK de una y el FK de la otra en adición a una o más condiciones adicionales.
INFORMACIÓN ADICIONAL Y EJEMPLOS DE SELECT Volver a los Objetivos
Figure 7-10 • SQL statement processing order (adapted from van der Lans, p.100) Pag: 322
Ejemplo de un SELECT • Consigue aquellos productos con un precio estándar menor de $275 SELECT PRODUCT_NAME, STANDARD_PRICE FROM PRODUCT_V WHERE STANDARD_PRICE < 275; Table 7-3: Comparison Operators in SQL Pag: 309
Otro ejemplo que muestra ciertas columnas y todas las filas de una tabla • Un comando puede obtener columnas en específico y todas las filas de una tabla. • Mostrar el número, nombre y balance de todos los clientes • La clausula WHERE no hace falta ya que se van a mostrar todos los clientes de la tabla (filas).
Buscar (Retrieve) todas las columnas y filas de una tabla • Utilice el asterisco (*) para indicar todas las columnas en la clausula SELECT • Como resultado se van a mostrar todas las columnas en el orden en que la tabla fue creada • El orden de las columnas en la clausula SELECT pueden tener un orden diferente al orden en que las columnas se crearon en la tabla. • Esto le da la opción al usuario de mostrar los datos en el orden de columna que prefiera.
Ejemplo de un SELECT que busca todas las columnas de una tabla
USO DEL SELECT CON: Volver a los Objetivos
Uso de la Clausula WHERE • Se utiliza la clausula WHERE para buscar filas que satisfagan alguna condición. • ¿Cuál es el nombre del cliente número 148? • Una condición simple incluye: nombre de columna, operador de comparación y finalmente un nombre de columna o un valor.
Uso de la Clausula WHERE (cont.) • Los valores de los caracteres en SQL son case sensitive. • “Pepito” es diferente de “pepito” • las condiciones simples pueden comparar columnas. • WHERE BALANCE > CREDIT_LIMIT
Ejemplo de SELECT utilizando un Alias • El Alias se utilizacomoalternativaparanombre de columna o tabla SELECT CUST.CUSTOMER AS NAME, CUST.CUSTOMER_ADDRESS FROM CUSTOMER_V CUST WHERE NAME = ‘Home Furnishings’; OJO El ALIAS se puede utilizar para reemplazar el nombre de una entidad o de un atributo Pag: 310
Usando condiciones compuestas • Condiciones compuestas conectan dos o más condiciones simples con los operadores AND, OR y NOT • AND – Muestra los resultados cuando ambas condiciones simples son ciertas • OR - Muestra los resultados cuando cualquiera de las condiciones simples sea cierta • NOT - invierte el resultado de la condición original
SELECT Example–Boolean Operators • AND, OR, and NOT Operators for customizing conditions in WHERE clause SELECT PRODUCT_DESCRIPTION, PRODUCT_FINISH, STANDARD_PRICE FROM PRODUCT_V WHERE (PRODUCT_DESCRIPTION LIKE ‘%Desk’ OR PRODUCT_DESCRIPTION LIKE ‘%Table’) AND UNIT_PRICE > 300; Note: the LIKE operator allows you to compare strings using wildcards. For example, the % wildcard in ‘%Desk’ indicates that all strings that have any number of characters preceding the word “Desk” will be allowed Pag: 315
Utilizando el operador BETWEEN • No es un clausula esencial en SQL • se pueden obtener los mismos resultados sin esta clausula • Sin embargo simplifica la construcción del SELECT en donde se quiera aplicar • El operador BETWEEN solo incluye valores de un rango • Por ejemplo si usas BETWEEN 2000 and 5000, todos aquellos valores entre 2000 y 5000 son ciertos.
UTILIZANDO COLUMNAS CALCULADAS • Computed column – No existen en la base de datos, pero se calcula utilizando datos de columnas que ya existen. • Los cálculos pueden incluir los operadores matemáticos. • + para suma • - para resta • * para multiplicación • / para división
Utilizando el operador LIKE • Se utiliza para obtener los datos en donde no hay un pareo exacto (exact match) al utilizar los wildcards (*). • LIKE %Central% te va a devolver datos que contengan esos caracteres como por ejemplo: • “3829 Central” or “Centralia” • El underscore (_) representa cualquier caracter sencillo • “T_M” para TIM o TOM o T3M
Utilizando el Operador IN • El operador IN permite examinar diferentes valores simultáneamente. Por ejemplo:
Utilizando el Operador DISTINCT • Se utiliza para garantizar inequidad (uniqueness) en los resultados. • En otras palabras elimina repeticiones A Guide to SQL, Seventh Edition