Lo que hay que saber para la Càtedra
--------------------------------------
insert
constraint
select
delete
dml / ddl
null
drop
in
dual
group
distinct
trim
create table
create sequence
like
where
count
order by
round
desc
between
upper / lower
max / min / avg
Ejercicio
---------
Listar las propiedades que "arrienda" un cliente, listar (nombre, apellido (cliente), numprop, f.inico, (arriendo)
select
c.nombre, c.apellido, a.numpropiedad, a.finrenta from cliente c, arriendo awhere c.numcliente = a.numcliente and UPPER(c.nombre) = 'MIKE' and UPPER(c.apellido) = 'RITCHIE'
select
c.nombre, c.apellido, a.numpropiedad, a.finrenta, e.nombre from cliente c, arriendo a, propiedad p, empleado ewhere c.numcliente = a.numcliente and UPPER(c.nombre) = 'MIKE' and UPPER(c.apellido) = 'RITCHIE'
and a.numpropiedad = p.numpropiedad and p.numempleado = e.numempleadonull -> valor especial para atributos que nunca han tenido contenido
Query forma 1
---------------
select
numoficina from oficinawhere ciudad ='Valdivia'
Query forma 2
---------------
select
numempleado, nombre, apellido from empleado
where numoficina in (select numoficina from oficina where ciudad ='Valdivia')
Ejemplo Subquery
-------------------
select
numempleado, nombre, apellido from empleado
where numoficina in (select numoficina from oficina where ciudad ='Valdivia') and salario > ( select max(salario) from empleado
Ejemplo de create sequence
-------------------------------------
create sequence seqt1start with 10increment by 10;
select seqt1.nextval from dual (comienza en 10)insert
obtiene (nombre, apellido, salario, prmedio, diferencia)
------------------------------------------------------------------------
select
apellido
salario
round nombre, , , ((select avg(salario) as prom from empleado),1) as avg , round
Saca el promedio por oficina
-------------------------------------
select
count
avg numoficina, (*) as empleados, (salario) as promedio, max(salario) as mayor_renta, min
group by numoficina
select b.ciudad, a
count
avg.numoficina, (*) as empleados, (a.salario) as promedio, max(a.salario) as mayor_renta, min
(a.salario) as menor_rentafrom empleado a, oficina bwhere a.numoficina = b.numoficinagroup by b.ciudad, a.numoficina(salario) as menor_renta from empleado
muestra solo los *
------------------------
select
select
numoficina, avg(salario) from empleado
group by numoficinahaving avg(salario) = (select max(avg(salario)) from empleado group by numoficina) '**'|| trim(' ') ||'**' from dual(salario - (select avg(salario) as prom from empleado),1) as Dif from empleado into t1 values (seqt1.nextval, 'hola') (comienza en 20)
where sexo = 'F' )
No hay comentarios:
Publicar un comentario