daily pastebin goal
24%
SHARE
TWEET

Untitled

a guest Dec 7th, 2017 64 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE DATABASE cd;
  2. USE cd;
  3.  
  4. CREATE TABLE MUSICA(
  5.     cod_musica INT NOT NULL PRIMARY KEY,
  6.     nome_musica VARCHAR(255) NOT NULL,
  7.     duracao_musica DECIMAL(4, 2)
  8. );
  9.  
  10. CREATE TABLE CD_CATEGORIA(
  11.     cod_categoria INT NOT NULL PRIMARY KEY,
  12.     menor_preco DECIMAL(8,2) NOT NULL,
  13.     maior_preco DECIMAL(8,2) NOT NULL
  14. );
  15.  
  16. CREATE TABLE GRAVADORA(
  17.     cod_gravadora INT NOT NULL PRIMARY KEY,
  18.     nome_gravadora VARCHAR(255) NOT NULL,
  19.     endereco_gravadora VARCHAR(255) NOT NULL,
  20.     tel_gravadora VARCHAR(20) NOT NULL,
  21.     contato_gravadora VARCHAR(50) NOT NULL,
  22.     url_gravadora VARCHAR(50) NOT NULL
  23. );
  24.  
  25. CREATE TABLE CD(
  26.     cod_cd INT NOT NULL PRIMARY KEY,
  27.     cod_gravadora INT NOT NULL FOREIGN KEY REFERENCES gravadora(cod_gravadora),
  28.     nome_cd VARCHAR(255) NOT NULL,
  29.     preco_venda DECIMAL(8,2) NOT NULL,
  30.     data_lancamento DATETIME NOT NULL,
  31.     cd_indicado INT NOT NULL -- FK
  32. );
  33.  
  34. CREATE TABLE FAIXA(
  35.     cod_cd INT NOT NULL FOREIGN KEY REFERENCES CD(cod_cd),
  36.     num_faixa INT NOT NULL PRIMARY KEY,
  37.     cod_musica INT NOT NULL FOREIGN KEY REFERENCES MUSICA(cod_musica),
  38. );
  39.  
  40. CREATE TABLE AUTOR(
  41.     cod_autor INT NOT NULL PRIMARY KEY,
  42.     nome_autor VARCHAR(255) NOT NULL
  43. );
  44.  
  45. CREATE TABLE MUSICA_AUTOR(
  46.     cod_musica INT NOT NULL FOREIGN KEY REFERENCES MUSICA(cod_musica),
  47.     cod_autor INT NOT NULL FOREIGN KEY REFERENCES AUTOR(cod_autor)
  48. );
  49.  
  50. CREATE TABLE ITEM_CD(
  51.     num_faixa INT NOT NULL FOREIGN KEY REFERENCES FAIXA(num_faixa),
  52.     cod_musica INT NOT NULL FOREIGN KEY REFERENCES MUSICA(cod_musica),
  53.     cod_cd INT NOT NULL FOREIGN KEY REFERENCES CD(cod_cd)
  54. );
  55.  
  56. ALTER TABLE MUSICA_AUTOR add FOREIGN KEY(cod_musica) references MUSICA(cod_musica);
  57. ALTER TABLE MUSICA_AUTOR add FOREIGN KEY(cod_autor) references AUTOR(cod_autor);
  58. ALTER TABLE CD add FOREIGN KEY(cd_indicado) references CD(cod_cd);
  59. ALTER TABLE FAIXA add FOREIGN KEY(cod_musica) references MUSICA(cod_musica);
  60. ALTER TABLE item_cd ADD FOREIGN KEY(cod_musica) REFERENCES musica(cod_musica);
  61.  
  62. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (1, 'Será', 02.28);
  63. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (2, 'Ainda é cedo', 03.55);
  64. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (3, 'Geração Coca-Cola', 02.20);
  65. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (4, 'Eduardo e Mônica', 04.32);
  66. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (5, 'Tempo Perdido', 05.00);
  67. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (6, 'Indios', 04.23);
  68. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (7, 'Que país é esse', 03.04);
  69. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (8, 'Faroeste Caboclo', 09.03);
  70. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (9, 'Há Tempos', 03.16);
  71. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (10, 'Pais e Filho', 03.22);
  72. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (11, 'Meninos e Meninas', 03.22);
  73. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (12, 'Vento no Litoral', 06.05);
  74. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (13, 'Perfeição', 04.35);
  75. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (14, 'Giz', 03.20);
  76. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (15, 'Dezesseis', 05.28);
  77. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (16, 'Antes das Seis', 03.09);
  78. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (17, 'Meninos, Eu vi', 03.25);
  79. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (18, 'Eu te amo', 03.06);
  80. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (19, 'Piano na mangueira', 02.23);
  81. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (20, 'A Violeira', 02.54);
  82. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (21, 'Anos Dourados', 02.56);
  83. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (22, 'Olha, Maria', 03.55);
  84. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (23, 'Biscate', 03.20);
  85. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (24, 'Retrato em Preto e Branco', 03.03);
  86. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (25, 'Falando de Amor', 03.20);
  87. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (26, 'Pois é', 02.48);
  88. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (27, 'Noite dos mascarados', 02.42);
  89. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (28, 'Sabiá', 03.20);
  90. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (29, 'Imagina', 02.52);
  91. INSERT INTO MUSICA (cod_musica, nome_musica, duracao_musica) VALUES (30, 'Bate-Boca', 04.41);
  92.  
  93. INSERT INTO AUTOR (cod_autor, nome_autor) VALUES (1, 'Renato Russo');
  94. INSERT INTO AUTOR (cod_autor, nome_autor) VALUES (2, 'Tom Jobim');
  95. INSERT INTO AUTOR (cod_autor, nome_autor) VALUES (3, 'Chico Buarque');
  96. INSERT INTO AUTOR (cod_autor, nome_autor) VALUES (4, 'Dado Villa-Lobos');
  97. INSERT INTO AUTOR (cod_autor, nome_autor) VALUES (5, 'Marcelo Bonfá');
  98. INSERT INTO AUTOR (cod_autor, nome_autor) VALUES (6, 'Ico Ouro Preto');
  99. INSERT INTO AUTOR (cod_autor, nome_autor) VALUES (7, 'Vinícius de Moraes');
  100.  
  101. INSERT INTO GRAVADORA
  102.     (cod_gravadora, nome_gravadora, endereco_gravadora, tel_gravadora, contato_gravadora, url_gravadora) VALUES
  103.     (1, 'EMI', 'ROD. DUTRA, KM 29,8', '55659856', '8965-7894', 'emi@emimusic.com.br');
  104. INSERT INTO GRAVADORA
  105.     (cod_gravadora, nome_gravadora, endereco_gravadora, tel_gravadora, contato_gravadora, url_gravadora) VALUES
  106.     (2, 'POLYGRAM', 'ROD. IMIGRANTES, KM 29,8', '99659856', '7595-7894', 'polygram@music.com.br');
  107. INSERT INTO GRAVADORA
  108.     (cod_gravadora, nome_gravadora, endereco_gravadora, tel_gravadora, contato_gravadora, url_gravadora) VALUES
  109.     (3, 'BMG', 'ROD. ANCHIETA, KM 289,8', '99654456', '7595-7004', 'bmg@music.com.br');
  110. INSERT INTO GRAVADORA
  111.     (cod_gravadora, nome_gravadora, endereco_gravadora, tel_gravadora, contato_gravadora, url_gravadora) VALUES
  112.     (4, 'SOM LIVRE', 'AV SAO JOSE, KM 289,8', '99657806', '7895-7004', 'somlivre@music.com.br');
  113. INSERT INTO GRAVADORA
  114.     (cod_gravadora, nome_gravadora, endereco_gravadora, tel_gravadora, contato_gravadora, url_gravadora) VALUES
  115.     (5, 'EPIC', 'AV ALDA, N 89', '58793321', '8965-4790', 'epic@music.com.br');
  116.  
  117. INSERT INTO CD (cod_cd, cod_gravadora, nome_cd, preco_venda, data_lancamento, cd_indicado) VALUES
  118.     (1, 1, 'Mais do Mesmo', -5.00, '1985-02-03', 1);
  119. INSERT INTO CD (cod_cd, cod_gravadora, nome_cd, preco_venda, data_lancamento, cd_indicado) VALUES
  120.     (2, 3, 'Bate Boca', -15.00, '1999-08-07', 2);
  121. INSERT INTO CD (cod_cd, cod_gravadora, nome_cd, preco_venda, data_lancamento, cd_indicado) VALUES
  122.     (3, 4, 'Elis Regina - Essa Mulher', -18.00, '1986-05-25', 3);
  123. INSERT INTO CD (cod_cd, cod_gravadora, nome_cd, preco_venda, data_lancamento, cd_indicado) VALUES
  124.     (4, 3, 'A força que nunca seca', 5.25, '1981-07-15', 4);
  125. INSERT INTO CD (cod_cd, cod_gravadora, nome_cd, preco_venda, data_lancamento, cd_indicado) VALUES
  126.     (5, 4, 'Perfil', 20.99, '1987-01-02', 5);
  127. INSERT INTO CD (cod_cd, cod_gravadora, nome_cd, preco_venda, data_lancamento, cd_indicado) VALUES
  128.     (6, 2, 'Barry Manilow Greastest Hits', 25.00, '1958-12-18', 1);
  129. INSERT INTO CD (cod_cd, cod_gravadora, nome_cd, preco_venda, data_lancamento, cd_indicado) VALUES
  130.     (7, 5, 'Listen Without Prejudice', 28.00, '1975-06-11', 7);
  131.  
  132. INSERT INTO CD_CATEGORIA (cod_categoria, menor_preco, maior_preco) VALUES (1, 10, 20);
  133. INSERT INTO CD_CATEGORIA (cod_categoria, menor_preco, maior_preco) VALUES (2, 20, 40);
  134. INSERT INTO CD_CATEGORIA (cod_categoria, menor_preco, maior_preco) VALUES (3, 30, 60);
  135. INSERT INTO CD_CATEGORIA (cod_categoria, menor_preco, maior_preco) VALUES (4, 11, 22);
  136. INSERT INTO CD_CATEGORIA (cod_categoria, menor_preco, maior_preco) VALUES (5, 15, 30);
  137. INSERT INTO CD_CATEGORIA (cod_categoria, menor_preco, maior_preco) VALUES (6, 25, 50);
  138. INSERT INTO CD_CATEGORIA (cod_categoria, menor_preco, maior_preco) VALUES (7, 21, 42);
  139. INSERT INTO CD_CATEGORIA (cod_categoria, menor_preco, maior_preco) VALUES (8, 22, 44);
  140. INSERT INTO CD_CATEGORIA (cod_categoria, menor_preco, maior_preco) VALUES (9, 9, 18);
  141. INSERT INTO CD_CATEGORIA (cod_categoria, menor_preco, maior_preco) VALUES (10, 5, 10);
  142.  
  143. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 1, 1);
  144. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 2, 2);
  145. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 3, 3);
  146. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 4, 4);
  147. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 5, 5);
  148. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 6, 6);
  149. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 7, 7);
  150. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 8, 8);
  151. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 9, 9);
  152. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 10, 10);
  153. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 11, 11);
  154. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 12, 12);
  155. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 13, 13);
  156. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 14, 14);
  157. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 15, 15);
  158. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (1, 16, 16);
  159. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (2, 1, 17);
  160. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (2, 2, 18);
  161. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (2, 3, 19);
  162. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (2, 4, 20);
  163. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (2, 5, 21);
  164. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (2, 6, 22);
  165. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (2, 7, 23);
  166. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (2, 8, 24);
  167. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (2, 9, 25);
  168. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (2, 10, 26);
  169. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (2, 11, 27);
  170. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (2, 12, 28);
  171. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (2, 13, 29);
  172. INSERT INTO FAIXA (cod_cd, cod_musica, num_faixa) VALUES (2, 14, 30);
  173.  
  174. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (1, 1);
  175. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (1, 4);
  176. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (1, 5);
  177. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (2, 1);
  178. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (2, 4);
  179. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (2, 5);
  180. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (2, 6);
  181. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (3, 1);
  182. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (4, 1);
  183. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (5, 1);
  184. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (6, 1);
  185. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (7, 1);
  186. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (8, 1);
  187. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (9, 1);
  188. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (9, 4);
  189. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (10, 1);
  190. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (10, 4);
  191. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (10, 5);
  192. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (11, 1);
  193. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (11, 4);
  194. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (11, 5);
  195. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (12, 1);
  196. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (12, 4);
  197. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (12, 5);
  198. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (13, 1);
  199. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (13, 4);
  200. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (13, 5);
  201. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (14, 1);
  202. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (14, 4);
  203. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (14, 5);
  204. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (15, 1);
  205. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (15, 4);
  206. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (15, 5);
  207. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (16, 1);
  208. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (16, 4);
  209. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (16, 5);
  210. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (17, 2);
  211. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (17, 3);
  212. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (18, 2);
  213. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (18, 3);
  214. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (19, 2);
  215. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (19, 3);
  216. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (20, 2);
  217. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (20, 3);
  218. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (21, 2);
  219. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (21, 3);
  220. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (22, 2);
  221. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (22, 3);
  222. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (22, 7);
  223. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (23, 3);
  224. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (24, 2);
  225. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (24, 3);
  226. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (25, 2);
  227. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (26, 2);
  228. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (26, 3);
  229. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (27, 3);
  230. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (28, 2);
  231. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (28, 3);
  232. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (29, 2);
  233. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (29, 3);
  234. INSERT INTO MUSICA_AUTOR (cod_musica, cod_autor) VALUES (30, 3);
  235.  
  236. ALTER TABLE GRAVADORA ALTER COLUMN endereco_gravadora VARCHAR(255) NULL
  237.  
  238. INSERT INTO GRAVADORA
  239.     (cod_gravadora, nome_gravadora, endereco_gravadora, tel_gravadora, contato_gravadora, url_gravadora) VALUES
  240.     (6, 'SONY', NULL, '78946512', '8796-1234', 'sony@sony.com.br');
  241. INSERT INTO GRAVADORA
  242.     (cod_gravadora, nome_gravadora, endereco_gravadora, tel_gravadora, contato_gravadora, url_gravadora) VALUES
  243.     (7, 'Globo', NULL, '8797123', '1231-1234', 'globo@globo.com.br');
  244. INSERT INTO GRAVADORA
  245.     (cod_gravadora, nome_gravadora, endereco_gravadora, tel_gravadora, contato_gravadora, url_gravadora) VALUES
  246.     (8, 'Play Music', NULL, '86433793', '7136-6395', 'playmusic@playmusic.com.br');
  247.  
  248. SELECT cod_gravadora, nome_gravadora, endereco_gravadora FROM GRAVADORA WHERE endereco_gravadora IS NULL;
  249. SELECT * FROM GRAVADORA WHERE endereco_gravadora IS NOT NULL;
  250. SELECT * FROM CD WHERE data_lancamento BETWEEN '1980-01-01' and '1989-12-31';
  251.  
  252. SELECT * FROM MUSICA WHERE cod_musica IN (1, 3, 11, 17, 30, 33);
  253.  
  254. SELECT * FROM MUSICA WHERE nome_musica LIKE 'R%';
  255. SELECT * FROM MUSICA WHERE nome_musica LIKE 'A%';
  256. SELECT * FROM MUSICA WHERE nome_musica LIKE '%S';
  257. SELECT * FROM MUSICA WHERE nome_musica LIKE '%E%';
  258. SELECT * FROM MUSICA WHERE nome_musica LIKE '_O%';
  259. SELECT * FROM MUSICA WHERE nome_musica LIKE '%O_';
  260. SELECT * FROM MUSICA WHERE nome_musica LIKE '_I_';
  261. SELECT * FROM MUSICA WHERE nome_musica LIKE '___A%';
  262. SELECT * FROM MUSICA WHERE nome_musica LIKE '_____E%';
  263.  
  264. SELECT * FROM MUSICA;
  265. SELECT * FROM AUTOR;
  266. SELECT * FROM GRAVADORA;
  267. SELECT * FROM CD;
  268. SELECT * FROM CD_CATEGORIA;
  269. SELECT * FROM FAIXA;
  270. SELECT * FROM MUSICA_AUTOR ;
  271.  
  272.  
  273. SELECT AVG(preco_venda) FROM CD;
  274.  
  275. SELECT SUM(duracao_musica) FROM MUSICA;
  276.  
  277. SELECT MIN(num_faixa)FROM FAIXA;
  278.  
  279. SELECT MAX(cod_musica) AS musica, MAX(cod_autor) AS autor FROM MUSICA_AUTOR;
  280.  
  281. SELECT COUNT(*) FROM MUSICA;
  282.  
  283. SELECT VAR(preco_venda) FROM CD;
  284.  
  285. SELECT STDEV(duracao_musica) FROM MUSICA;
  286.  
  287. SELECT AVG(preco_venda), cod_gravadora
  288. FROM CD
  289. WHERE cod_gravadora > 3
  290. GROUP BY cod_gravadora
  291. HAVING AVG(preco_venda) >= 10
  292. ORDER BY cod_gravadora;
  293.  
  294.  
  295.  
  296. SELECT *, LOWER(url_gravadora) FROM gravadora;
  297. SELECT *, UPPER(nome_autor) FROM autor;
  298. SELECT *, LEN(nome_musica) FROM musica;
  299. SELECT *, LEFT(endereco_gravadora, 3) FROM gravadora;
  300. SELECT *, RIGHT(nome_cd, 5) FROM cd;
  301.  
  302. SELECT UPPER(nome_cd) FROM cd WHERE LEN(nome_cd) > 10;
  303. SELECT LEFT(nome_autor, 6) FROM AUTOR;
  304. SELECT SUBSTRING(nome_musica, 11, 7) FROM MUSICA;
  305. SELECT ASCII('Fatec');
  306. SELECT ASCII('F');
  307. SELECT ASCII('a');
  308.  
  309. SELECT cod_musica, SUBSTRING(nome_musica, 9, 4) FROM MUSICA;
  310. SELECT cod_musica, SUBSTRING(nome_musica, 5, 4) FROM MUSICA;
  311. SELECT cod_musica, SUBSTRING(nome_musica, 4, 5) FROM MUSICA;
  312. SELECT cod_musica, SUBSTRING(nome_musica, 6, 4) FROM MUSICA;
  313. SELECT cod_musica, SUBSTRING(nome_musica, 10, 2) FROM MUSICA;
  314. SELECT cod_musica, SUBSTRING(nome_musica, 3, 3) FROM MUSICA;
  315. SELECT cod_musica, SUBSTRING(nome_musica, 10, 6) FROM MUSICA;
  316.  
  317. SELECT ASCII('R') + ASCII('O') + ASCII('N') + ASCII('A') + ASCII('l') + ASCII('d');
  318.  
  319. DECLARE @input as varchar(100);
  320. DECLARE @count as INT;
  321. DECLARE @i INT
  322. SET @input = 'RONAld'
  323. SET @count = 0
  324. SELECT @i = 0
  325. WHILE @i < LEN(@input)
  326. BEGIN
  327. SELECT @i = @i + 1
  328. SELECT @count = @count + ASCII(SUBSTRING(@input, @i, 1))
  329. END
  330. SELECT @count
  331.  
  332.  
  333. SELECT UPPER(nome_gravadora), LOWER(endereco_gravadora), LOWER(url_gravadora)
  334. FROM GRAVADORA
  335. WHERE endereco_gravadora LIKE 'rod%';
  336.  
  337.  
  338. SELECT DATEADD(MONTH, 2, data_lancamento) FROM cd;
  339. SELECT DATEADD(QUARTER, 2, '2006-03-06');
  340. SELECT GETDATE();
  341. SELECT data_lancamento, GETDATE(), DATEDIFF(YEAR, data_lancamento, GETDATE()) FROM cd;
  342. SELECT DATEDIFF(DAY, '2006-03-06', GETDATE());
  343.  
  344. SELECT MONTH(GETDATE());
  345. SELECT YEAR(GETDATE());
  346. SELECT DAY(GETDATE());
  347.  
  348. SELECT DATEPART(QUARTER, data_lancamento) FROM CD;
  349.  
  350.  
  351. SELECT DATENAME(MONTH, GETDATE());
  352.  
  353.  
  354.  
  355. SELECT
  356. DATENAME(DAY, '1993-02-02') as 'day',
  357. DATENAME(MONTH, '1993-02-02') as 'month',
  358. DATENAME(YEAR, '1993-02-02') as 'year',
  359. DATENAME(HOUR, '1993-02-02 11:30:00') as 'hour';
  360.  
  361.  
  362. SELECT
  363. (DATEDIFF(DAY, '1993-02-02 11:30:00', GETDATE()) % 365) as 'days',
  364. (DATEDIFF(MONTH, '1993-02-02 11:30:00', GETDATE()) % 12) as 'months',
  365. (DATEDIFF(YEAR, '1993-02-02 11:30:00', GETDATE())) as 'years';
  366.  
  367.  
  368. -- Subquery
  369. -- Busca dentro de outra query
  370. -- Sintaxe:
  371. -- SELECT colunas FROM tabela WHERE col expresao operador (SELECT col FROM tabela WHERE ...)
  372. -- onde:
  373. -- col: a mesma coluna em ambos SELECT's
  374. -- operador: linha(<, <=, >, >=, =, <>)
  375. --             grupo(in, any, all)
  376.  
  377. -- Subquery linha
  378.  
  379. -- ex1
  380. SELECT nome_cd, preco_venda FROM cd WHERE preco_venda > (SELECT AVG(preco_venda) FROM cd)
  381.  
  382. -- ex2
  383. SELECT cod_gravadora, nome_cd, preco_venda FROM cd
  384. WHERE cod_gravadora = (SELECT cod_gravadora FROM cd WHERE cod_CD = 2)
  385. AND preco_venda > (SELECT preco_venda FROM cd WHERE cod_cd = 5)
  386.  
  387. -- ex3
  388. SELECT cod_gravadora, MIN(preco_venda) FROM cd
  389. GROUP BY cod_gravadora
  390. HAVING MIN(preco_venda) > (SELECT preco_venda FROM cd WHERE cod_cd = 6)
  391.  
  392. -- Desafios
  393. -- 1) Apresente as musicas (cd, nome) do cd 1
  394. SELECT cod_musica, nome_musica FROM MUSICA
  395. WHERE cod_musica IN (SELECT cod_musica FROM FAIXA WHERE cod_cd = 1)
  396.  
  397. -- 2) Apresente os autores das musicas pares
  398. SELECT * FROM AUTOR
  399. WHERE cod_autor IN (SELECT cod_autor FROM MUSICA_AUTOR WHERE (cod_musica % 2) = 0)
  400.  
  401. -- 3) Quais as musicas da gravadora 2 e 3
  402. SELECT * FROM MUSICA
  403. WHERE cod_musica IN (SELECT cod_musica FROM FAIXA WHERE cod_cd IN (SELECT cod_cd FROM CD WHERE CD.cod_gravadora IN (1, 2)))
  404.  
  405. SELECT * FROM musica WHERE cod_musica
  406. IN (SELECT cod_musica FROM faixa WHERE cod_cd
  407.     IN (SELECT cod_cd FROM cd WHERE cod_gravadora
  408.         IN (SELECT cod_gravadora FROM CD WHERE cod_gravadora = 2 OR cod_gravadora = 3)))
  409.  
  410. -- 4) Quais os autores da gravadora 'EMI'
  411. SELECT * FROM autor
  412. WHERE cod_autor IN (SELECT cod_autor FROM MUSICA_AUTOR
  413.     WHERE cod_musica IN (SELECT cod_musica FROM faixa
  414.         WHERE cod_cd = (SELECT cod_cd FROM CD
  415.             WHERE cod_gravadora = (SELECT cod_gravadora FROM GRAVADORA
  416.                 WHERE nome_gravadora LIKE 'EMI'))))
  417.  
  418.  
  419. SELECT cod_autor cod, nome_autor nome
  420. FROM autor
  421. WHERE cod_autor < 10
  422. UNION
  423. SELECT cod_musica, nome_musica
  424. FROM musica
  425. WHERE cod_musica < 15;
  426.  
  427. SELECT cod_musica, nome_musica
  428. FROM musica
  429. WHERE cod_musica IN (SELECT cod_musica FROM faixa WHERE cod_cd = 1)
  430. UNION ALL
  431. SELECT cod_musica, nome_musica
  432. FROM musica
  433. WHERE cod_musica % 2 = 0;
  434.  
  435. SELECT cod_musica, nome_musica
  436. FROM musica
  437. WHERE cod_musica IN (SELECT cod_musica FROM faixa WHERE cod_cd = 1)
  438. INTERSECT
  439. SELECT cod_musica, nome_musica
  440. FROM musica
  441. WHERE cod_musica % 2 = 0;
  442.  
  443.  
  444.  
  445. -- Desafios
  446. -- 1) Quais os autores e músicas do cd1?
  447. SELECT cod_autor, nome_autor
  448. FROM autor
  449. WHERE cod_autor IN (
  450.     SELECT cod_autor
  451.     FROM musica_autor
  452.     WHERE cod_musica IN (
  453.         SELECT cod_musica
  454.         FROM faixa
  455.         WHERE cod_cd = 1))
  456. UNION ALL
  457. SELECT cod_musica, nome_musica
  458. FROM musica
  459. WHERE cod_musica IN (SELECT cod_musica FROM faixa WHERE cod_cd = 1);
  460.  
  461. -- 2) Quais os cd's e gravadoras que tem o preço maior que a média de preço das gravadoras 2 e 3?
  462. SELECT cod_gravadora, nome_cd
  463. FROM cd
  464. WHERE cod_gravadora IN (SELECT cod_gravadora FROM cd WHERE cod_cd IN (2, 3))
  465. UNION
  466. SELECT cod_cd, nome_cd FROM cd WHERE preco_venda > (SELECT AVG(preco_venda) FROM cd)
  467.  
  468. -- TODO
  469. -- 3) Apresente os cd's, musicas, autores e faixas das músicas pares com duração ímpar
  470.  
  471. SELECT cod_cd FROM cd
  472. WHERE cod_cd IN (
  473.     SELECT cod_cd
  474.     FROM faixa
  475.     WHERE cod_musica IN (
  476.         SELECT cod_musica
  477.         FROM musica
  478.         WHERE cod_musica % 2 -0 and duracao % 2 = 1
  479.     )
  480. )
  481. UNION ALL
  482. SELECT cod_musica FROM musica
  483. SELECT cod_autor FROM autor
  484. SELECT cod_faixa FROM faixa
  485.  
  486.  
  487. -- DESAFIOS
  488. -- 1) Apresente os autores que não gravaram músicas no cd 2
  489. SELECT cod_autor, nome_autor
  490. FROM autor
  491. WHERE cod_autor IN (
  492.     SELECT cod_autor
  493.     FROM musica_autor
  494.     WHERE cod_musica IN (
  495.         SELECT cod_cd, cod_musica
  496.         FROM musica
  497.         WHERE cod_musica IN (
  498.             SELECT cod_musica
  499.             FROM faixa
  500.         )
  501.     )
  502. )
  503. EXCEPT
  504. SELECT cod_cd, nome_cd FROM cd WHERE cod_cd = 2
  505. -- 2) Quais músicas que não tem autores impares
  506. -- 3) Quais cd's não foram gravados?
  507. -- 4) Quais gravadoras não tem cd?
  508.  
  509.  
  510. -- 1) Quais os autores "cd, musica"do cd 1
  511. SELECT autor.nome_autor, musica.nome_musica, cd.nome_cd
  512. FROM autor LEFT OUTER JOIN musica_autor
  513. ON autor.cod_autor = musica_autor.cod_autor RIGHT OUTER JOIN musica
  514. ON musica_autor.cod_musica = musica.cod_musica LEFT OUTER JOIN faixa
  515. ON faixa.cod_musica = musica.cod_musica RIGHT OUTER JOIN cd
  516. ON faixa.cod_cd = cd.cod_cd
  517. WHERE faixa.cod_cd = 1
  518.  
  519. -- 2) Quais as gravadoras "cod, musica" do cd 2?
  520. SELECT cd.nome_cd, musica.nome_musica
  521. FROM cd RIGHT OUTER JOIN faixa
  522. ON cd.cod_faixa = faixa.cod_gravadora
  523. WHERE cd.cod_cd = 2
  524.    
  525. -- 3) quais as musicas "autor" dos autores impares?
  526. SELECT musica.nome_musica, autor.nome_autor
  527. FROM musica LEFT OUTER JOIN musica_autor
  528. ON musica.cod_musica = musica_autor.cod_musica RIGHT OUTER JOIN autor
  529. ON musica_autor.cod_autor = autor.cod_autor
  530. WHERE ((autor.cod_autor % 2) = 1)
  531.  
  532. -- 4) Acresentar 3 gravadoras, 3 musicas e 3 autores (itens isolados)
  533.  
  534. /*
  535. Subrotinas
  536. Stored Procedures
  537.  
  538. Realiza tarefas especificas:
  539.  
  540. CREATE PROCEDURE nome (parametro | entrada saida) AS
  541.     sintaxe;
  542.  
  543. onde parametros de entrada INPUT
  544. onde parametros de saida OUTPUT
  545.  
  546. para declarar: DECLARE @var tipo
  547. para atribuir valor: SET @var = valor
  548. para calculo: SET @var = @var + @num
  549.  
  550. operadores de decisão
  551. IF/ELSE
  552.  
  553. para mais de 1 linha de comando
  554.  
  555. BEGIN
  556. END
  557.  
  558. para loop WHILE
  559.  
  560. para saida PRINT()
  561. */
  562.  
  563. -- EX 01
  564. CREATE PROCEDURE sp_saudacao AS
  565. DECLARE @msg VARCHAR(50)
  566. SET @msg = 'Hello World'
  567. PRINT @msg
  568.  
  569. EXEC sp_saudacao;
  570.  
  571. -- EX 02
  572. CREATE PROCEDURE proc_soma AS
  573. DECLARE @num01 INT, @num02 INT, @res INT
  574. SET @num01 = 5
  575. SET @num02 = 6
  576. SET @res = @num01 + @num02
  577. PRINT @res
  578.  
  579. ALTER PROCEDURE proc_soma @num01 INT, @num02 INT AS
  580. DECLARE @res INT
  581. SET @res = @num01 + @num02
  582. PRINT @res
  583.  
  584. ALTER PROCEDURE proc_soma @num01 INT, @num02 INT, @res INT OUTPUT AS
  585. SET @res = @num01 + @num02;
  586.  
  587.  
  588. DECLARE @saida INT;
  589. EXEC proc_soma 5, 5, @saida OUTPUT;
  590. PRINT @saida;
  591.  
  592.  
  593. /*
  594. Desafio
  595. EXEC sp_calculation '+', 13, 28;
  596. EXEC sp_calculation '-', 3, 14; => se não: Troca num para valor positivo
  597. EXEC sp_calculation '*', 6, 3;
  598. EXEC sp_calculation '/', 12, 1; => se não: Troca num para valor e R
  599. EXEC sp_calculation 'p', 7, 2; => primo
  600. EXEC sp_calculation 'i', 5, 4; => par / impar
  601. */
  602.  
  603. DROP PROCEDURE sp_calculation;
  604.  
  605. CREATE PROCEDURE sp_calculation @operation CHAR(1), @num01 INT, @num02 INT, @res INT OUTPUT AS
  606.     IF (@operation = '+')
  607.         SET @res = @num01 + @num02
  608.     ELSE IF (@operation = '-')
  609.         SET @res = @num01 - @num02
  610.     ELSE IF (@operation = '*')
  611.         SET @res = @num01 * @num02
  612.     ELSE IF (@operation = '/')
  613.     BEGIN
  614.         IF (@num01 > @num02)
  615.             SET @res = @num01 / @num02
  616.         ELSE
  617.             SET @res = @num02 / @num01
  618.     END
  619.  
  620.  
  621. DECLARE @saida INT
  622. EXEC sp_calculation '+', 13, 28, @saida OUTPUT
  623. PRINT @saida;
  624.  
  625. DECLARE @saida INT
  626. EXEC sp_calculation '-', 3, 14, @saida OUTPUT
  627. PRINT @saida;
  628.  
  629. DECLARE @saida INT
  630. EXEC sp_calculation '*', 6, 3, @saida OUTPUT
  631. PRINT @saida;
  632.  
  633. DECLARE @saida INT
  634. EXEC sp_calculation '/', 1, 12, @saida OUTPUT
  635. PRINT @saida;
  636.  
  637.  
  638. DROP PROCEDURE sp_odd_even
  639.  
  640. CREATE PROCEDURE sp_odd_even @num INT, @res CHAR(5) OUTPUT AS
  641.     IF (@num % 2 = 0)
  642.         SET @res = 'True'
  643.     ELSE
  644.         SET @res = 'False'
  645.  
  646. DECLARE @saida CHAR(5)
  647. EXEC sp_odd_even 1, @saida OUTPUT
  648. PRINT @saida;
  649.  
  650. DECLARE @saida CHAR(5)
  651. EXEC sp_odd_even 2, @saida OUTPUT
  652. PRINT @saida;
  653.  
  654.  
  655. DROP PROCEDURE sp_prime
  656.  
  657. CREATE PROCEDURE sp_prime @num INT, @res CHAR(5) OUTPUT AS
  658.     DECLARE @cont INT
  659.     DECLARE @totaldiv INT
  660.     SET @cont = 1
  661.     SET @totaldiv = 0
  662.    
  663.     WHILE (@num <= @cont)
  664.     BEGIN
  665.         BEGIN
  666.             IF (@num % @cont = 0)
  667.                 SET @totaldiv = @totaldiv + 1
  668.                 PRINT (@num % @cont)
  669.         END
  670.         SET @cont = @cont + 1
  671.     END
  672.  
  673.     IF (@totaldiv = 2)
  674.         SET @res = 'True'
  675.     ELSE
  676.         SET @res = 'False'
  677.  
  678.  
  679. DECLARE @saida CHAR(5)
  680. EXEC sp_prime 4, @saida OUTPUT
  681. PRINT @saida;
  682.  
  683.  
  684. CREATE PROCEDURE sp_buscamusica @tempo DECIMAL(4, 2) AS
  685.     SELECT * FROM musica WHERE duracao_musica >= @tempo;
  686.  
  687. EXEC sp_buscamusica 1.00
  688.  
  689. CREATE PROCEDURE sp_inseremusica @cod INT, @nome VARCHAR(255), @tempo DECIMAL(4, 2) AS
  690.     INSERT INTO musica(cod_musica, nome_musica, duracao_musica) VALUES (@cod, @nome, @tempo);
  691.  
  692. EXEC sp_inseremusica 31, 'foo bar', 5.32
  693.  
  694. CREATE PROCEDURE sp_alteramusica @cod INT, @nome VARCHAR(255) AS
  695.     UPDATE musica SET nome_musica = @nome WHERE cod_musica = @cod;
  696.  
  697. EXEC sp_alteramusica 31, 'Foo Bar'
  698.  
  699. CREATE PROCEDURE sp_excluimusica @cod INT AS
  700.     DELETE FROM musica WHERE cod_musica = @cod;
  701.  
  702. EXEC sp_excluimusica 31
RAW Paste Data
Top