sábado, 17 de marzo de 2012

Clase 17 de Marzo

CREATE TABLE AUTOR (IDAUTOR INT PRIMARY KEY, NOMBRE VARCHAR2(30));
CREATE TABLE LIBRO (IDLIBRO INT PRIMARY KEY, IDAUTOR INT, NOMBRE VARCHAR2(30));

--CREAR LLAVE FORANEA IDAUTOR EN LIBRO
ALTER TABLE LIBRO
ADD CONSTRAINT FK_LIBRO_AUTOR FOREIGN KEY (IDAUTOR) REFERENCES AUTOR (IDAUTOR);

INSERT INTO AUTOR VALUES(01, 'GABRIEL GARCIA MARQUEZ');
INSERT INTO AUTOR VALUES(02, 'PABLO NERUDA');

--INSERTAR 5 LIBROS
INSERT INTO LIBRO VALUES(11, 01, 'EL ALQUIMISTA');
INSERT INTO LIBRO VALUES(12, 01, 'INGENIERIA DE SOFTWARE');
INSERT INTO LIBRO VALUES(13, 02, 'HOLA QUE TAL');
INSERT INTO LIBRO VALUES(14, 02, 'MI NOMBRE ES...');
INSERT INTO LIBRO VALUES(15, 01, '20 POEMAS DE AMOR Y...');


--MODIFICAR EL TAMAÑO DEL ATRIBUTO NOMBRE EN TABLA LIBRO A 50

ALTER TABLE LIBRO MODIFY NOMBRE VARCHAR2(50);

--AGREGAR LA FECHA DE NACIMIENTO A TABLA AUTOR

ALTER TABLE AUTOR ADD FECNAC DATE;

--COMPLETAR LA FECHA DE NACIMIENTO DE LOS AUTORES

UPDATE AUTOR SET FECNAC = '12-07-1904' WHERE NOMBRE = 'PABLO NERUDA';

UPDATE AUTOR SET FECNAC = '06-03-1927' WHERE NOMBRE = 'GABRIEL GARCIA MARQUEZ';

select * from autor
select * from libro

--seleccionar todos los libros del autor 'pablo neruda'

SELECT * FROM LIBRO L INNER JOIN AUTOR A ON L.IDAUTOR=A.IDAUTOR
WHERE A.NOMBRE = 'PABLO NERUDA';

SELECT * FROM LIBRO L, AUTOR A WHERE L.IDAUTOR = A.IDAUTOR
AND A.NOMBRE = 'PABLO NERUDA';

SELECT * FROM LIBRO WHERE IDAUTOR = (SELECT IDAUTOR FROM AUTOR WHERE autor.NOMBRE = 'PABLO NERUDA');

--CALCULAR LA EDAD DE GABRIEL GARCIA MARQUEZ

SELECT NOMBRE, (SYSDATE - FECNAC)/365 FROM AUTOR WHERE nombre='GABRIEL GARCIA MARQUEZ'

UPDATE Autor set fecNac = '12-07-1904'
WHERE UPPER(nombre) = UPPER('Pablo neruda');

SELECT UPPER ('AbCdEf') from dual

select 128*4 from dual

select 128*4 as tamaño from dual

SELECT * FROM TAB

UPDATE AUTOR SET FECNAC = '17-03-2012' WHERE NOMBRE = 'GABRIEL GARCIA MARQUEZ';

-- MOSTRAR EL FORMATO DE LA TABLA
DESC AUTOR

SELECT NOMBRE, ROUND((SYSDATE - FECNAC)/365) AS EDAD FROM AUTOR WHERE nombre='GABRIEL GARCIA MARQUEZ'

SELECT * FROM LIBRO L INNER JOIN ATOR A ON L.IDAUTOR=A.IDAUTOR WHERE A.NOMBRE='PABLO NERUDA';

--SELECCIONAR TODAS LAS COLUMNAS QUE EXISTEN EN LAS TABLAS

SELECT * FROM COL;

--LISTAR LOS NOMBRES DE LOS LOS AUTORES QUE HAN ESCRITO ALGUN LIBRO RELACIONADO CON AMOR--

SELECT NOMBRE FROM AUTOR WHERE IDAUTOR IN (SELECT IDAUTOR FROM LIBRO WHERE LOWER(NOMBRE) LIKE '%amor%')

No hay comentarios:

Publicar un comentario