Está en la página 1de 14

Actividad Áulica 21/04

Consignas

1. Realice un alter table de la tabla usuarios, cambie el nombre de la columna


id_compania por id_company.
2. Crear una tabla llamada company (id_company, nombre, f_alta,
c_usuario_alta, f_actualizac, c_usuario_act)
3. Crearán una secuencia para el id_company
4. Deberán insertar 10 registros
5. Deberán enlazar la tabla usuarios con la tabla company, es decir crear una fk
6. intente borrar la compañía con id = 10 y explique lo que sucede, proponga
soluciones. (Integridad referencial)
7. Crearán una tabla llamada
pistas(id_pista, id_album(fk),nombre,número,duracion_seg, f_alta,
c_usuario_alta,f_actualizac, c_usuario_act) el id_pista será una secuencia
8. insertaran al menos 5 pistas en 10 álbumes;

Acá jugaríamos con los selects:

9. Se desea saber todos los artistas que tengan al menos un álbum


10. Se desea saber la sumatoria de los oyentes mensuales
11. Recuperar el último álbum del artista con más oyentes mensuales.
12. Obtener un listado de las pistas ordenadas por la duración de menor a mayor
y por álbumes.
13. Recuperar los artistas que no tengan ningún álbum
14. Eliminar todos los usuarios con id > 10;
15. Contar cuántos usuarios son de ‘POSADAS’.
16. Insertar 3 usuarios, 2 de ellos debe ser la clonación de otro ya creado, con
distinto id (Insert Select)
17. Insertar 1 dirección para cada usuario ingresado
18. Incrementar en 100 los oyentes mensuales de los que tengan un álbum entre
el 2019 y el 2022
19. Decrementar 50 seguidores de los artistas sin álbum.
20. Poner en mayúsculas todas las ciudades. (UPPER)
21. Obtener todos los álbumes que tengan al menos una pista
22. Obtener todos los artistas con seguidores mensuales pares.
23. Incrementar 15 seg todas las canciones que tengan un número impar.
Desarrollo:

1. ALTER TABLE public.usuarios RENAME COLUMN id_compania TO


id_company;

2. CREATE TABLE IF NOT EXISTS public.company


(
id_company serial primary key,
nombre character varying(255) NOT NULL,
f_alta date,
c_usuario_alta character varying(255),
f_actualizac date,
c_usuario_act character varying(255)
);

3. INSERT INTO public.company(


nombre, f_alta, c_usuario_alta, f_actualizac, c_usuario_act)
VALUES ('Antonio Banderas', NULL, NULL, NULL, NULL);

INSERT INTO public.company(


nombre, f_alta, c_usuario_alta, f_actualizac, c_usuario_act)
VALUES ('Johnny Depp', NULL, NULL, NULL, NULL);

INSERT INTO public.company(


nombre, f_alta, c_usuario_alta, f_actualizac, c_usuario_act)
VALUES ('Al Yankovic', NULL, NULL, NULL, NULL);

INSERT INTO public.company(


nombre, f_alta, c_usuario_alta, f_actualizac, c_usuario_act)
VALUES ('Araki Hirohiko', NULL, NULL, NULL, NULL);

INSERT INTO public.company(


nombre, f_alta, c_usuario_alta, f_actualizac, c_usuario_act)
VALUES ('Ryan Reynolds', NULL, NULL, NULL, NULL);

INSERT INTO public.company(


nombre, f_alta, c_usuario_alta, f_actualizac, c_usuario_act)
VALUES ('Chris Pratt', NULL, NULL, NULL, NULL);

INSERT INTO public.company(


nombre, f_alta, c_usuario_alta, f_actualizac, c_usuario_act)
VALUES ('Chris Hemsworth', NULL, NULL, NULL, NULL);
INSERT INTO public.company(
nombre, f_alta, c_usuario_alta, f_actualizac, c_usuario_act)
VALUES ('Jim Carrey', NULL, NULL, NULL, NULL);

INSERT INTO public.company(


nombre, f_alta, c_usuario_alta, f_actualizac, c_usuario_act)
VALUES ('Guillermo Francella', NULL, NULL, NULL, NULL);

4. ALTER TABLE public.usuarios


ADD FOREIGN KEY (id_company) REFERENCES company(id_company);

5. Al intentar borrar la compañía con id = 10, ocurre el siguiente error:

“ERROR: update o delete en «company» viola la llave foránea


«usuarios_id_company_fkey» en la tabla «usuarios» DETAIL: La llave
(id_company)=(10) todavía es referida desde la tabla «usuarios».”

Este error es conocido como “Integridad Referencial”: Se trata de un sistema de


reglas que la mayoría de bases de datos relacionales utilizan para asegurarse de
que los registros de tablas relacionadas son válidos y que no se eliminen o
cambien datos relacionados de forma accidental, produciendo así errores de
integridad.

En resumen, el error ha ocurrido debido a que se intentó borrar una fila de la


tabla principal, la cual tiene “hijos” en la tabla usuarios.

Una posible solución a este problema es eliminando las claves foráneas existentes
en usuarios y dirección, y se crean CONSTRAINTS de las claves foráneas de
usuarios y dirección, a la vez que permitimos un borrado en cascada (Esto
significa que cuando se elimine un elemento de una fila que está referenciado en
otra tabla, dicho elemento también se eliminará y así sucesivamente en caso de
ser necesario)

ALTER TABLE usuarios


ADD CONSTRAINT fk_inv_id_company
FOREIGN KEY (id_company) REFERENCES company(id_company)
ON DELETE CASCADE;

(Alterar la tabla usuarios y dirección puesto que id_usuario es clave foránea


en dirección)
ALTER TABLE direccion
ADD CONSTRAINT fk_inv_id_usuario
FOREIGN KEY (id_usuario) REFERENCES usuarios(id_usuario)
ON DELETE CASCADE;

6. CREATE TABLE IF NOT EXISTS public.pistas


(
id_pista serial primary key,
id_album character varying(255) NOT NULL,
nombre character varying(255) NOT NULL,
numero int,
duracion_seg int,
f_alta date,
c_usuario_alta character varying(255),
f_actualizac date,
c_usuario_act character varying(255),
CONSTRAINT FK_id_album FOREIGN KEY (id_album)
REFERENCES albums(id_album) ON DELETE CASCADE;
);

7. INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES (' 00eiw4KOJZ7eC3NBEpmH4C', 'Breakdown', 7, 422, NULL,
NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES (' 00eiw4KOJZ7eC3NBEpmH4C', 'Civil War', 1, 445, NULL,
NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES (' 00eiw4KOJZ7eC3NBEpmH4C', 'Yesterdays', 3, 189, NULL,
NULL, NULL, NULL);
INSERT INTO public.pistas(
id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES (' 00eiw4KOJZ7eC3NBEpmH4C', 'Knockin on Heavens
Door', 4, 321, NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES (' 00eiw4KOJZ7eC3NBEpmH4C', 'So Fine', 10, 243, NULL,
NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('1UUOBzIHw0noiRGRpbt3sz', 'Runaway', 1, 210, NULL,
NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('1UUOBzIHw0noiRGRpbt3sz', 'Shot Through The Heart', 4,
255, NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('1UUOBzIHw0noiRGRpbt3sz', 'Love Lies', 5, 245, NULL,
NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('1UUOBzIHw0noiRGRpbt3sz', 'Burning For Love', 7, 211,
NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('1UUOBzIHw0noiRGRpbt3sz', 'Get Ready', 9, 244, NULL,
NULL, NULL, NULL);
INSERT INTO public.pistas(
id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('0HEuFHATf4xNesfim5EwMr', 'Free For You', 1, 86, NULL,
NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('0HEuFHATf4xNesfim5EwMr', 'Get Outta My Face', 3, 79,
NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('0HEuFHATf4xNesfim5EwMr', 'Forever Into You', 9, 77,
NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('0HEuFHATf4xNesfim5EwMr', 'Boogie Town', 6, 93, NULL,
NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('0HEuFHATf4xNesfim5EwMr', 'So Slick', 12, 82, NULL,
NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('0kys2jaKAiDPfNBd4z7LAg', 'Some Hearts', 3, 208, NULL,
NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('0kys2jaKAiDPfNBd4z7LAg', 'Jesus, Take the Wheel', 4,
207, NULL, NULL, NULL, NULL);
INSERT INTO public.pistas(
id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('0kys2jaKAiDPfNBd4z7LAg', 'Lessons Learned', 6, 245,
NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('0kys2jaKAiDPfNBd4z7LAg', 'Starts with Goodbye', 8, 243,
NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('0kys2jaKAiDPfNBd4z7LAg', 'Whenever You Remember',
12, 208, NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('010wiwXUvegsmlERAv7vMe', 'Blessed Assurance', 1, 93,
NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('010wiwXUvegsmlERAv7vMe', 'When We All Get To
Heaven', 4, 86, NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('010wiwXUvegsmlERAv7vMe', 'In The Garden', 6, 152,
NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('010wiwXUvegsmlERAv7vMe', 'Standing On The
Promises', 10, 81, NULL, NULL, NULL, NULL);
INSERT INTO public.pistas(
id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('010wiwXUvegsmlERAv7vMe', 'How Great Thou Art', 14,
199, NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('26qiUsjX8tgvAqb2H8bucZ', 'So I Could Find My Way', 2,
255, NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('26qiUsjX8tgvAqb2H8bucZ', 'Echoes in Rain', 5, 201, NULL,
NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('26qiUsjX8tgvAqb2H8bucZ', 'Dark Sky Island', 7, 274,
NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('26qiUsjX8tgvAqb2H8bucZ', 'Astra et Luna', 9, 192, NULL,
NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('26qiUsjX8tgvAqb2H8bucZ', 'Diamonds on the Water', 11,
201, NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('2QE4Wrvpvs4DI9gX7WVTZO', 'Still of the Night - 2017
Remaster', 1, 383, NULL, NULL, NULL, NULL);
INSERT INTO public.pistas(
id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('2QE4Wrvpvs4DI9gX7WVTZO', 'Give Me All Your Love -
2017 Remaster', 2, 198, NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('2QE4Wrvpvs4DI9gX7WVTZO', 'Bad Boys - 2017
Remaster', 3, 244, NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('2QE4Wrvpvs4DI9gX7WVTZO', 'Is This Love - 2017
Remaster', 4, 266, NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('2QE4Wrvpvs4DI9gX7WVTZO', 'Straight for the Heart -
2017 Remaster', 6, 202, NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('2ZdBjpNzKeluVjBdZ4x12j', 'Dangerous Man', 1, 190,
NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('2ZdBjpNzKeluVjBdZ4x12j', 'Swing', 4, 201, NULL, NULL,
NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('2ZdBjpNzKeluVjBdZ4x12j', 'High', 8, 208, NULL, NULL,
NULL, NULL);
INSERT INTO public.pistas(
id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('2ZdBjpNzKeluVjBdZ4x12j', 'Ride', 11, 214, NULL, NULL,
NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('2ZdBjpNzKeluVjBdZ4x12j', 'Words Get In The Way', 12,
248, NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('3wDeIA9tJU0uNlsroUdcYK', 'Any Man of Mine', 2, 243,
NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('3wDeIA9tJU0uNlsroUdcYK', 'You Win My Love', 8, 255,
NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('3wDeIA9tJU0uNlsroUdcYK', 'Raining On Our Love', 9, 262,
NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('3wDeIA9tJU0uNlsroUdcYK', 'No One Needs To Know', 11,
181, NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('3wDeIA9tJU0uNlsroUdcYK', 'God Bless The Child', 12, 78,
NULL, NULL, NULL, NULL);
INSERT INTO public.pistas(
id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('4kZm2gtXOwFsXXQZZaYEhW', 'Little Bitty', 1, 142, NULL,
NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('4kZm2gtXOwFsXXQZZaYEhW', 'Everything I Love', 2, 184,
NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('4kZm2gtXOwFsXXQZZaYEhW', 'Between the Devil and
Me', 4, 252, NULL, NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('4kZm2gtXOwFsXXQZZaYEhW', 'There Goes', 5, 213, NULL,
NULL, NULL, NULL);

INSERT INTO public.pistas(


id_album, nombre, numero, duracion_seg, f_alta, c_usuario_alta,
f_actualizac, c_usuario_act)
VALUES ('4kZm2gtXOwFsXXQZZaYEhW', 'Walk On The Rocks', 8,
198, NULL, NULL, NULL, NULL);

9) SELECT id_artista, d_nombre, c_verificado, n_oyentes_m, n_seguidores


FROM public.artista
WHERE EXISTS
(SELECT 1
FROM public.albums
WHERE artista.id_artista = albums.id_artista
)
ORDER BY id_artista;

10) SELECT SUM(n_oyentes_m) FROM public.artista;


11) SELECT artista.id_artista, artista.d_nombre, artista.n_oyentes_m,
albums.d_nombre, albums.n_anio
FROM public.albums
INNER JOIN public.artista ON artista.id_artista = albums.id_artista
WHERE artista.n_oyentes_m = (SELECT
MAX(n_oyentes_m)
FROM public.artista)
GROUP BY artista.id_artista, artista.d_nombre,
albums.d_nombre, albums.n_anio
HAVING albums.n_anio >= '2018'
LIMIT 1;

12) SELECT pistas.id_pista, pistas.id_album, pistas.nombre, pistas.numero,


pistas.duracion_seg, albums.d_nombre
FROM public.pistas
INNER JOIN public.albums ON pistas.id_album = albums.id_album
ORDER BY pistas.duracion_seg, albums.d_nombre;

13) SELECT id_artista, d_nombre, c_verificado, n_oyentes_m, n_seguidores


FROM public.artista
WHERE NOT EXISTS
(SELECT 1
FROM public.albums
WHERE artista.id_artista = albums.id_artista
)
ORDER BY id_artista;

14) DELETE FROM public.usuarios


WHERE id_usuario > 10;

15) SELECT COUNT(d_ciudad)


FROM public.direccion
WHERE d_ciudad = 'POSADAS';

16) INSERT INTO public.usuarios(


id_usuario, d_nombre, d_apellido, d_clave, d_correo, n_celular, d_sitio_web,
id_company, f_alta, c_usuario_alta, f_actualizac, c_usuario_act)
VALUES (11, 'Juanito', 'Jamaica', 'yugioh865',
'papuhackerman@gmail.com', '3764837349',
'www.juanitojamaicarules.com.ar', 5, NULL, NULL, NULL, NULL);

INSERT INTO public.usuarios(


id_usuario, d_nombre, d_apellido, d_clave, d_correo, n_celular, d_sitio_web,
id_company, f_alta, c_usuario_alta, f_actualizac, c_usuario_act)
SELECT 12, d_nombre, d_apellido, d_clave, d_correo, n_celular, d_sitio_web,
id_company, f_alta, c_usuario_alta, f_actualizac, c_usuario_act
FROM public.usuarios
WHERE id_usuario = 11;

INSERT INTO public.usuarios(


id_usuario, d_nombre, d_apellido, d_clave, d_correo, n_celular, d_sitio_web,
id_company, f_alta, c_usuario_alta, f_actualizac, c_usuario_act)
SELECT 13, d_nombre, d_apellido, d_clave, d_correo, n_celular, d_sitio_web,
id_company, f_alta, c_usuario_alta, f_actualizac, c_usuario_act
FROM public.usuarios
WHERE id_usuario = 11;

17) INSERT INTO public.direccion(


id_direccion, id_usuario, d_calle, n_altura, d_ciudad, c_postal, f_alta,
f_actualizac, c_usuario_act, c_usuario_alta)
VALUES (11, 11, 'Anchico 430', 'MZ40 C19', 'Garupa', '3304', NULL, NULL,
NULL, NULL);

INSERT INTO public.direccion(


id_direccion, id_usuario, d_calle, n_altura, d_ciudad, c_postal, f_alta,
f_actualizac, c_usuario_act, c_usuario_alta)
SELECT 12, 12, d_calle, n_altura, d_ciudad, c_postal, f_alta, f_actualizac,
c_usuario_act, c_usuario_alta
FROM public.direccion
WHERE id_direccion = 11;

INSERT INTO public.direccion(


id_direccion, id_usuario, d_calle, n_altura, d_ciudad, c_postal, f_alta,
f_actualizac, c_usuario_act, c_usuario_alta)
SELECT 13, 13, d_calle, n_altura, d_ciudad, c_postal, f_alta, f_actualizac,
c_usuario_act, c_usuario_alta
FROM public.direccion
WHERE id_direccion = 11;

18) UPDATE public.artista


SET n_oyentes_m = artista.n_oyentes_m + 100
WHERE id_artista IN (SELECT alb.id_artista
FROM albums alb
WHERE alb.n_anio >= '2019' AND alb.n_anio <= '2022');
19) UPDATE public.artista
SET n_seguidores= artista.n_seguidores - 50
WHERE NOT EXISTS (SELECT 1 FROM public.albums alb
WHERE alb.id_artista = artista.id_artista);

20) UPDATE public.direccion


SET d_ciudad= UPPER(direccion.d_ciudad);
21) SELECT id_album, id_artista, d_nombre, n_anio
FROM public.albums
WHERE EXISTS
(SELECT 1
FROM public.pistas
WHERE albums.id_album = pistas.id_album)
ORDER BY id_album;

22) Obtener todos los artistas con número de oyentes mensuales pares:

SELECT * FROM public.artista


WHERE mod(artista.n_oyentes_m,2) = 0;

Obtener todos los artistas con número de seguidores pares:

SELECT * FROM public.artista


WHERE mod(artista.n_seguidores,2) = 0;

23) SELECT * FROM public.pistas


WHERE mod(pistas.duracion_seg,2) <> 0;

También podría gustarte