daily pastebin goal
1%
SHARE
TWEET

Untitled

a guest Dec 7th, 2017 347 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
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top