Académique Documents
Professionnel Documents
Culture Documents
Mlaga
SQL
Structured Query Language
Prof. Mlaga
Prof. Mlaga
Prof. Mlaga
Prof. Mlaga
Prof. Mlaga
Prof. Mlaga
INSERT
UPDATE
DELETE
Deletea
filas en una tabla
Prof. Mlaga
DROP
ALTER
Ejemplo
SELECT NOMCE FROM TCENTR WHERE MUNC=10
Palabras pre-definidas
SELECT, FROM WHERE
Constantes Literales
10
Signos delimitadores
Espacios en blanco
Signo de igualdad
Prof. Mlaga
EL RESULTADO DE
UNA SENTENCIA
SIEMPRE ES UNA
TABLA
SQL - Select
Comando
Valor
Descripcin
Select
Columnas
From
Tablas
Where
Group by
Criterio de
bsqueda
Columnas
Having
Restriccin
Order by
Columnas
Prof. Mlaga
SQL - Where
Signos
Significado
Signos
Significado
Igual
<>
<
Diferente
>
Mayor que
Menor que
>=
Like
Prof. Mlaga
Entre 2 valores
SQL - Group by
Prof. Mlaga
SQL - Having
SQL - Order by
Prof. Mlaga
La consulta mostrada
ordena la tabla alumnos
por curso y luego
por seccin
Prof. Mlaga
Funciones de Grupo
Se puede usar AVG y SUM sobre columnas que
almacenen datos numricos.
SQL> SELECT
2
3 FROM
4 WHERE
AVG(salary) , MAX(salary),
MIN(salary) , SUM(salary)
s_emp
UPPER(title) LIKE 'SALES%';
MIN(last_name) , MAX(last_name)
s_emp;
Ejemplos
Mostrar todos los cdigos de departamentos para
aquellos con un pago salarial total mensual mayor a
los 4,000
SQL> SELECT
2
3
4
FROM
GROUP BY
HAVING
dept_id
s_emp
dept_id
SUM(salary) > 4000;
Ejemplos
Mostrar todos los departamentos ( cdigo y sueldo
promedio) que tengan un sueldo promedio mayor que
los del departamento 32.
SQL>
2
3
4
5
6
7
SELECT
FROM
GROUP BY
HAVING
dept_id, AVG(salary)
s_emp
dept_id
AVG(salary) >
(SELECT
AVG(salary)
FROM
s_emp
WHERE
dept_id = 32);
Funcin COUNT
SQL> SELECT
COUNT(*)
2 FROM
s_emp
3 WHERE
dept_id = 31;
SQL> SELECT
2 FROM
3 WHERE
COUNT(commission_pct)
s_emp
dept_id = 31;
Ejemplos
Muestre el nmero de empleados para cada categora laboral
dentro de cada departamento :
SQL> SELECT
2 FROM
3 GROUP BY
Subconsulta
Una subconsulta es una sentencia SELECT embebida en una
clusula de otra sentencia SQL.
Consulta
Principal
SELECT...
FROM...
WHERE...
Una subConsulta
puede ser
colocada en una
clausula where o
Having
Subconsulta
SELECT Syntax
(SELECT...
FROM...
WHERE...);
Subconsultas: Sintaxis
SELECT
FROM
WHERE
lista_Campos
nom_tabla
expresin operador
(SELECT
lista_campos
FROM
nom_tabla);
Reglas de Subconsulta
Subconsultas:Filas Simples
SELECT last_name, title
FROM
s_emp
WHERE title =
SELECT title
FROM s_emp
WHERE last_name = Smith
Se escriben ambas
sentencias juntas y se
deja que SQL
determine el cargo
para Smith.
Server
LAST_NAME TITLE
SALARY
SALARY
---------- ------------------ ------------Urguhart
Warehouse Manager
1200
2500
Menchu
Warehouse Manager
1250
1450
Biri
Warehouse Manager
1100
1400
Smith
Stock Clerk
940
1580
Nozaki
Stock Clerk
1200 AVG(SALARY)
1550
----------Patel
Stock Clerk
795
1200
1255.08
Newman
Stock Clerk
750
1250
Markarian Stock Clerk
850
1100
Mostrar
el
apellido,
cargo
y
Chang
Stock Clerk
800
1300
Patel
Clerk
795
1307
salario
de todosStock
los empleados
Dancs
Stock Clerk
860
1400
que ganen
menos
del
promedio.
Schwartz
Stock Clerk
1100
...
FROM
WHERE
AVG(salary)
5
) ;
FROM
s_emp
SQL> SELECT
last_name, first_name, title
2 FROM
s_emp
Obtener el apellido,
3 WHERE
dept_id =
nombre y cargo de los
4
(SELECT
ID
empleados que estan en el
5
FROM
departamento Finance o
s_dept
en la regin 2
6
WHERE name = 'Finance'
7
OR region_id = 2);
ORA-01427:single-row subquery returns
more than one row
VISTAS
Subconjuntos de la BD
tiles para mantener confidencialidad
restringiendo acceso a determinadas partes de la
BD.
Simplifican la formulacin de consultas
comnplejas repetitivas
Aumnta la independencia de los programas con
respecto a los datos
Prof. Mlaga
VISTAS
CREATE VIEW T1(EMPLEADO,PROYECTO,HORAS)
AS SELECT NOMBREE,NOMBREP,HORAS
FROM PROYECTO;
SELECT *
FROM T1
WHERE EMPLEADO = Juan Prez;
Prof. Mlaga