DML
SELECT cidade, temp_min, temp_max, prcp, data, localizacao FROM clima, cidades WHERE cidade = nome;
UPDATE
As linhas existentes podem ser atualizadas utilizando o comando UPDATE. Suponha ter sido descoberto que as leituras de temperatura realizadas após 28 de novembro de 1994 estão todas 2 graus mais altas. Os dados podem ser atualizados da seguinte maneira:
UPDATE clima SET temp_max = temp_max - 2, temp_min = temp_min - 2 WHERE data > '1994-11-28';
Agora vejamos o novo estado dos dados:
SELECT * FROM clima;
cidade | temp_min | temp_max | prcp | data
----------------+----------+----------+------+------------
São Francisco | 46 | 50 | 0.25 | 1994-11-27
São Francisco | 41 | 55 | 0 | 1994-11-29
Hayward | 35 | 52 | | 1994-11-29
(3 linhas)
DELETE
As linhas podem ser excluídas da tabela através do comando DELETE. Suponha que não estamos mais interessados no clima de Hayward. Então podemos executar comando a seguir para excluir estas linhas da tabela
DELETE FROM clima WHERE cidade = 'Hayward';
e todos os registros de clima pertencentes a Hayward serão removidos. Agora vejamos o novo estado dos dados:
SELECT * FROM clima; cidade | temp_min | temp_max | prcp | data --------------+----------+----------+------+------------ São Francisco | 46 | 50 | 0.25 | 1994-11-27 São Francisco | 41 | 55 | 0 | 1994-11-29 (2 linhas)
Deve-se tomar cuidado com comandos na forma
DELETE FROM nome_da_tabela;
porque, sem uma qualificação, o comando DELETE remove todas as linhas da tabela, deixando-a vazia. O sistema não solicita confirmação antes de realizar esta operação.
INNER JOIN
Para se mostrar dados de mais de uma tabela, é necessário usar a instrução INNER JOIN, que adiciona tabelas para visualização utilizando a chave estrangeira.
SELECT nometab1, nometab2 FROM tab2 INNER JOIN tab1 ON (tab2.idtab = tab1.idtab);
Operadores
- Existem 4 operadores SQL que operam sobre todos os tipos de dados:
- Operador: Significado
- ---------------------
- BETWEEN ..AND.. : Entre dois valores
- IN(lista) : Corresponde a qualquer valor da lista
- LIKE : Cadeia de caracteres que satisfaz uma condição
- IS NULL : É um valor nulo
- Exemplos:
- SELECT Nome, Cargo, Cod_Depar
- FROM Empregado
- WHERE Cargo='Secretario';
- SELECT Nome, N_Superior
- FROM Empregado
- WHERE N_Superior IN (7902,7566,7788);
- SELECT Nome
- FROM Empregado
- WHERE Nome LIKE 'S%';
- SELECT Nome, N_Superior
- FROM Empregado
- WHERE N_Superior IS NULL;
- SELECT Nome, Ordenado
- FROM Empregado
- WHERE Ordenado NOT BETWEEN 100000 AND 200000;