SQL Adicionar um Registro INSERT INTO − − INSERT INTO table_name VALUES (value1, value2,....) INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,....) EX.: − INSERT INTO Pessoa VALUES (‘Silva', 'Camila', ’15/03/1984', ‘Paraíba'); − INSERT INTO Pessoa (SobreNome, DtNasc ) VALUES (‘Moura', ’14/06/1985') ; Atualizar um Registro UPDATE − − − UPDATE table_name SET column_name = new_value WHERE column_name = some_value EX.: − UPDATE Pessoa SET Nome = 'Nina' WHERE SobreNome = ‘Moura’; Apagar um Registro DELETE − DELETE FROM table_name WHERE column_name = some_value EX.: − DELETE FROM Person WHERE LastName = ‘Silva' Consultas básicas Forma básica: select <lista de atributos> from <lista de tabelas> where <condição>; Encontre a data de nascimento e o endereço dos select dtnasc, endere empregados cujo nome seja John. from empregado where nome = “John” ; Obs: o comando select não elimina tuplas repetidas select nome, oendere Encontre nome e o endereço de todos os from empregado,que departamento empregados trabalham no departamento where nomed = “Pesquisa” and numerodep = nud; ‘Pesquisa’. Obs: na cláusula FROM estão as tabelas que serão juntadas com um produto cartesiano. Para cada projeto localizado em ‘Stanford’, relacione o select numerop, numd, sobrenome, enderec, dtnasc número do projeto, o número do departamento responsável e oprojeto, último nome do gerente do departamento, seu endereço from departamento, empregado e sua data = denumerodep aniversário. and nssger = nss and where numd localizacaop = ‘Stanford’; select E.nome, S.nome, Ss.sobrenome Para cadaE.sobrenome, empregado, recupere o primeiro e o from empregado as E, empregado as S último nome do empregado e o primeiro e o último where E.superssn = S.ssn; nome de seu superior imediato. Alternativa (na cláusula FROM): Empregado as E(PN, MN, UM, SSN, DT, END, SEX, SAL, SSSN, DNO) Selecione o nome de todos os empregados select nome from empregado; Recupere todos os diferentes valores de salários SELECT DISTINCT salario FROM empregado; (SELECT DISTINCT pnumero uma lista de todos os números de projetos nos quais FROMFaça projeto, departamento, empregado esteja algum seja WHERE numdenvolvido = numerodep and empregado nssger = nssncujo and sobrenome sobrenome=‘Smith’) ‘Smith’; ou como empregado, ou como gerente do UNION (SELECT DISTINCT pnumero departamento que controla o projeto. FROM trabalha_em, projeto, empregado WHERE numerop = nump AND nsse = nss AND sobrenome = ‘Smith’); Recupere todos os empregados cujos endereços sejam em Campinas, São Paulo. select * from empregado where endereço like ‘%Houston,TX%’; Recupere todos os empregados que nasceram na década de 50. select * from empregado where datanasc like ‘_ _ _ _ _ _ _ _ 5 _’; Suponha que se deseja ver qual será o resultado de aumentar em 10% o salário de todos os empregados que trabalham com o projeto ‘ProdutoX’. SELECT nome, 1.1*salário AS aumento_sal FROM empregado, trabalha_em, projeto WHERE ssn = essn AND pno = pnumero AND pnome = ‘ProdutoX’; Recupere todos os empregados do departamento 5 que ganham entre 30 mil e 40 mil reais. select * from empregado where (salario between 30000 and 40000) and nud = 5; Recupere a lista dos empregados e os respectivos projetos nos quais eles trabalham, ordenada por departamento e , dentro de cada departamento, também por ordem alfabética do último nome, e depois, pelo primeiro nome do empregado. select dnome, unome, pnome, pjnome from departamento, empregado, trabalha_em, projeto where dnumero = dno and ssn = essn and pno = pnumero order by dnome, sobrenome, nome; Obs: order by dnome desc, unome asc, pnome asc