Comandos SQL Essenciais: Guia Prático de Banco de Dados

Inglês3,39 KB

Criação de Banco de Dados e Tabelas

Criar banco de dados (BD)

create database banco

Criar tabela

create table fitas
(
codigo int primary key,
descricao varchar(20),
data_cadastro datetime,
valor decimal(10,2) NOT NULL
)

ou

create table locacao_item
(
locacao_id int NOT NULL,
fita_cod int NOT NULL,
valor decimal(10,2) NULL default 0,

CONSTRAINT PK_locacao_item PRIMARY KEY (locacao_id, fita_cod)
)

Criando chave estrangeira

alter table nome_da_tabela
add CONSTRAINT FK_nomedadatabela_nomedatabeladeondevemachave FOREIGN KEY (qualseráonomedocampo) REFERENCES Compra (campodeondevem)

Manipulação de Dados (DML)

INSERT: inserir itens na tabela

insert into TABELA (campo1, campo2) values (valor1, valor2)

DELETE: excluir registros da tabela

delete from tabela where condição

UPDATE: alterar registros

update TABELA set campo1 = valor1, campo2 = valor2, campoN = valorN
where condição

Consultas com SELECT

SELECT: selecionar dados de uma tabela

select * from Funcionarios -- seleciona todos os campos

AS: dar um apelido a um campo

select func_id as "Código do Funcionário" from funcionarios

Cláusula WHERE (restrições)

select ... from ... where ...

BETWEEN (condição com uma faixa de valores)

SELECT ... FROM ... WHERE ... BETWEEN ... AND ...

LIKE (busca por padrões)

SELECT ... FROM ... WHERE ... LIKE '[%]parte_literal[%]'

  • 'a%': retorna todos os funcionários cujo nome inicia com a letra "a"
  • '%a': retorna todos os funcionários cujo nome termina com a letra "a"
  • '%b%': retorna todos os funcionários que contêm a letra "b" em qualquer parte do nome

IN (condição com valores fixos)

SELECT ... FROM ... WHERE ... IN (...)

DISTINCT (valores únicos)

O operador DISTINCT elimina todas as repetições.

SELECT DISTINCT ... FROM ...

TOP (limitando a quantidade de registros)

select top 5 * from funcionarios

ORDER BY (ordenação)

select * from setores order by setor_nome asc

Funções de Agregação

COUNT: contador

SELECT COUNT([DISTINCT] campo ou *) FROM ...

SUM: somatória dos valores de um campo

SELECT SUM(...) FROM ...

AVG: média de valores

SELECT AVG(...) FROM ...

MIN e MAX: menor e maior valor

SELECT MIN(...) FROM ...
SELECT MAX(...) FROM ...

GROUP BY (agrupamento)

select setor_id, count(*) as "Total de funcionários no setor"
from funcionarios
where setor_id is not null
group by setor_id

Cláusula HAVING

select setor_id, count(*) as "Total de funcionários no setor"
from funcionarios
where setor_id is not null
group by setor_id
having count(*) > 4

Junções de Tabelas

INNER JOIN

select ... from ... inner join ... on ... = ...

Baixar

PDF Word HTML