SQL

Anuncio
SQL
• Lenguaje de Consulta Estructurado
• Es un lenguaje avanzado que opera sobre
los datos de una Base de Datos Relacional,
devolviendo un conjunto de datos,
permitiendo al usuario definir, mostrar y
actualizar la información de las tablas.
Acceso a conjuntos
• Al usar SQL, el usuario indica los datos que
necesita y no el procedimiento para
recuperarlos. Es el sistema el que
determina la mejor forma de hacerlo.
Tipo de operaciones SQL
• Consultas: Es un subconjunto de filas y
columnas de una o mas tablas ya existentes.
SELECT
• Vistas: Los datos son dinamicos, es decir
reflejan los cambios en ambos sentidos.
CREATE VIEW
• Mantenimiento: Permite añadir, borrar y
modificar.
Consultas
• Recupera datos de una o más tablas.
SELECT * | DISTINCT | Tabla.Campo,...
FROM [BD!]Tabla [AS <alias>],...
[WHERE <condición>]
[ORDER BY <campo>]
[GROUP BY <campo> [HAVING <condicion>]]
[INTO <destino>]
Operadores
• =, ==, >, <, >=, <=
• <>, != o #: Diferente
• $: Incluido
• AND, OR: Operadores boleanos y o.
• NOT o !: Operadores boleanos negacion.
• ALL: Debe cumplir con todas las cond
• ANY: Debe cumplir solo con alguna cond.
• EXIST: Si existen filas
Operadores (2)
• BETWEEN: Comprueba si cae entre los
limites impuestos.
• IN: Comprueba si coincide con una de un
conjunto de valores.
• LIKE: Comprueba si corresponde al patron.
• _: Comodin de un caracter
• %: Comodin de muchos caracteres
Ejemplos
• maealu.cod = matri.codalu
• detfac.total >= 1000
• “Pedro” $ maealu.nom
• maeart.pu BETWEEN 10 AND 199
• customer.postalcode NOT IN
("98052","98072","98034")
• customer.country NOT LIKE ”_eino%“
Funciones SQL
• CNT() = Recuento
• SUM() = Suma de un campo
• AVG() = Valor promedio de un campo
• MAX() = Valor maximo de un campo
• MIN() = Valor menimo de un campo
• STD() = Desviacion estandar
• VAR() = Varianza
Condiciones de combinacion
• Interna: Sólo muestra filas de ambas
tablas que cumplan los criterios de
combinación. INNER JOIN
• Izquierda: Muestra todas las filas de la
tabla izquierda y sólo las que cumplan
el criterio de combinación de la tabla
derecha. LEFT OUTER JOIN
Condiciones combinacion (2)
• Derecha: Muestra todas las filas de la
tabla derecha y sólo las que cumplan el
criterio de combinación de la tabla
izquierda. RIGHT OUTER JOIN
• Completa: Todas las filas de ambas
tablas, cumplan o no el criterio de
combinación. FULL OUTER JOIN
Subconsultas
• Es una consulta que aparece dentro de una
clausula WHERE o HAVING de otra
consulta SQL.
• Listar aquellos articulos cuyo precio sea
mayor o igual al precio promedio de los
articulos vendidos.
• SELECT * FROM maeart WHERE PU>=
(SELECT AVG(PU) FROM detfac)
Subconsultas (2)
• En la subconsulta puedes hacer referencia
a columnas de la tabla principal.
• La subconsulta solo debe producir una
columna como resultado.
• Los resultados se usan internamente y
nunca seran visibles al usuario.
• No puedes usar: ORDER BY ni UNION
Ejemplos
• customer.cust_id IN (SELECT orders.cust_id
FROM orders WHERE orders.city="Seattle")
• company < ALL (SELECT company FROM
customer WHERE country = "Reino Unido")
• company < ANY (SELECT company FROM
customer WHERE country = "Reino Unido")
• EXISTS (SELECT * FROM orders WHERE
customer.postalcode = orders.postalcode)
Tipos de salida
• Examinar: Muestra el resultado de la
consulta en una ventana examinar
• Cursor: Guarda el resultado de la
consulta en una cursor. Es solo lectura
y esta disponible hasta que se cierre.
• Tabla: Guarda el resultado de la
consulta en una tabla DBF.
Tipos de salida (2)
• Grafico: Transforma el resutado en
un grafico.
• Pantalla: Muestra resultado en
ventana de salida activa.
• Informe: Muestra el resultado en un
informe creado previamente (FRX)
• Etiqueta: Muestra el resultado en una
etiqueta creada previamente (LBX)
Propuetos
• Averiguar que clientes fueron atendidos
por empleados que trabajan los dias
martes.
• Obtener el porcentaje de ventas
mensuales.
Tipos de vistas
• Local: Cuando el origen de datos son
tablas sueltas DBF o una BD de Visual
FoxPRO.
• Remota: Cuando la fuente de datos es
externa, osea otro motor de DB como:
MS Acces, MS SQL, Oracle,
Informix, Sybase etc.
SQL para BD
• CREATE: Crea una BD
• OPEN: Activa una BD
• CLOSE: Cierra una BD
• DROP: Borra una BD
SQL para tablas
• CREATE: Añade una tabla
• DROP: Borra una tabla
SQL para filas
• INSERT: Permite añadir nuevas
nuevas filas a una tabla de una BD.
• UPDATE: Permite modificar filas.
• DELETE: Permite eliminar las filas
seleccionadas de una tabla.
• SELECT: Para visualizar el contenido
de una o mas tablas de una BD.
Descargar