"ESTUDIAR LAS SIGUIENTES INSTRUCCIONES"
INSERT
CONSTRAINT
SELECT
DELETE = ELIMINAR LOS REGISTROS
DML "data manipulation language" /DDL "data definition language"
NULL = es un valor especial para los atributos que nunca han tenido un contenido
DROP = ELIMINAR LA TABLA
IN
DUAL
GROUP
DISTINCT
TRIM
CREATE TABLE
CREATE SEQUENCE
LIKE
WHERE
COUNT/MAX/MIN/AVG
ORDER BY
RPUND
DESC
BETWEEN
UPPER / LOWER
--------------------------------------
EJEMPLO INSERT
TABLA T1 (
A INT PRIMARY KEY,
B VARCHAR (2)
);
INSERT INTO T1 VALUES (1,'...')
--------------------------------------
PK_T1
--------------------------------------
EJERCICIOS
--LISTAR LAS PROPIEDADES QUE TIENE UN CLIENTE (NOMBRE,APELLIDO,NUMPROP,F.INICIO ARRIENDO)
--FORMA MAS FACIL DE HACER UN JOIN
SELECT C.nombre, C.apellido, A.numPropiedad, A.inicioRenta
FROM CLIENTE C, ARRIENDO A
WHERE C.NumCliente = A.NumCliente
AND C.nombre = 'Jhon'
AND C.apellido = 'Perez'
--LISTAR EL NUMERO DE TODAS LAS OFICINAS QUE SE ENCUENTRAN EN VALDIVIA
SELECT numOficina
FROM OFICINA
WHERE CIUDAD = 'Valdivia'
--listar todos los empleaods que trabajan en la oficina de Valdivia
SELECT numEmpleado,Nombre,Apellido
FROM Empleado
Where numOficina IN ('B115','B015');
SELECT numEmpleado,Nombre,Apellido
FROM Empleado
Where numOficina IN (SELECT numOficina
FROM OFICINA
WHERE CIUDAD = 'Valdivia');
--que es lo que entrega el max
SELECT MAX (salario)
FROM Empleado
WHERE sexo = 'F';
--sequence
CREATE SEQUENCE seqt1
START WITH 10
INCREMENT BY 10;
--uso de la secuencia
SELECT seqt1.NEXTVAL FROM dual;
INSERT INTO T1 VALUES (seqT1.NEXTVAL,'1');
CREATE TABLE T1 (
A INT PRIMARY KEY,
B VARCHAR (2)
);
--calcular el salario mostrar nombre,apellido,salario,promedio y la diferencia
SELECT Nombre,Apellido,Salario,(SELECT AVG(Salario) FROM EMPLEADO) AS Promedio,
Salario - (SELECT AVG(Salario) FROM EMPLEADO) AS DIFERENCIA
FROM EMPLEADO
--numero de la oficina, cantidad de empleados(contar), sueldo promedio por oficina(promedio)
SELECT numOficina,count(*) AS CUENTA,AVG(Salario) AS SALARIO, MAX(Salario), MIN(Salario)
FROM Empleado
GROUP BY numOficina
SELECT O.ciudad,O.numOficina,count(*) AS CUENTA,AVG(Salario) AS SALARIO, MAX(Salario), MIN(Salario)
FROM Empleado E, Oficina O
WHERE E.numOficina = O.numOficina
GROUP BY O.ciudad, O.numOficina
--cantidad de oficinas por ciudad
SELECT O.ciudad,O.numOficina,count(*) AS CUENTA,AVG(Salario) AS SALARIO, MAX(Salario) AS MAXIMO, MIN(Salario) AS MINIMO
FROM Empleado E, Oficina O
WHERE E.numOficina = O.numOficina
GROUP BY O.ciudad, O.numOficina
ORDER BY O.Ciudad
SELECT ciudad,count(*) AS CUENTA,AVG(Salario) AS SALARIO, MAX(Salario), MIN(Salario)
FROM Oficina
GROUP BY ciudad
-- Listar las oficina que tiene el salario promedio más ALTO
SELECT numOficina,AVG (Salario) AS SALARIO --MAX(Salario) AS MAXIMO
FROM Empleado
GROUP BY numOficina
HAVING AVG(Salario) = (SELECT MAX(AVG(Salario)) FROM Empleado
GROUP BY numOficina)
--Listar las ciudades que tengan màs de 2 oficinas
SELECT Ciudad,count (numOficina)
FROM Oficina
GROUP BY Ciudad
HAVING count(numOficina) > 2
viernes, 16 de diciembre de 2011
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario