quinta-feira, 29 de janeiro de 2015

SQL Básico - Parte V


Instruções básicas para iniciantes em banco de dados.

Para os exemplos a seguir iremos utilizar as tabelas criadas no post anterior[SQL Básico - Parte IV].
Aqui vamos falar sobre JOIN que é usado para fazer os relacionamentos entre as tabelas.

O JOIN é utilizado para ligar duas tabelas, trazendo os dados correspondentes.
Exemplo:


SELECT * FROM modelo mo
JOIN marca ma ON ma.id = mo.marcaId
WHERE ma.id = 1


Resultado:




O LEFT JOIN é utilizado para recuperar os dados das tabelas, ele trara todos os dados da tabela da esquerda, mesmo que não tenha uma referencia na tabela da direita.
Exemplo:


SELECT * FROM modelo mo
LEFT JOIN marca ma ON ma.id = mo.marcaId


Resultado:




O RIGHT JOIN é utilizado para recuperar os dados das tabelas, ele trara todos os dados da tabela da direita, mesmo que não tenha uma referencia na tabela da esquerda.

Exemplo:

SELECT * FROM modelo mo
RIGHT JOIN marca ma ON ma.id = mo.marcaId

Resultado:



O FULL JOIN é utilizado para recuperar os dados das tabelas, ele trara todos os dados da tabela da direita e da esquerda, mesmo que não tenha referencia entre as tabelas.

Exemplo:

SELECT * FROM modelo mo
full JOIN marca ma ON ma.id = mo.marcaId


Resultado:

quarta-feira, 28 de janeiro de 2015

SQL Básico - Parte IV

Instruções básicas para iniciantes em banco de dados.


Para os exemplos a seguir iremos criar as tabelas e inserir os dados que usaremos nas consultas.



Tabela que sera referenciada:

create table marca(

id int identity(1,1) primary key,

nome varchar(20),

dataHoraInserido datetime default getdate()

);



Tabela que fara referencia:

create table modelo(

id int identity(1,1) primary key,

nome varchar(20),

marcaId int,

dataHoraInserido datetime default getdate()

);



Criação da refência entre as tabelas marca e modelo.

alter table modelo add constraint pk_marca foreign key (marcaId) references marca(id)



Inserção de dados na tabela marca.

insert into marca(nome) values('FIAT');

insert into marca(nome) values('GM');

insert into marca(nome) values('FORD');

insert into marca(nome) values('NISSAN');

insert into marca(nome) values('KIA');

insert into marca(nome) values('HONDA');



Inserção de dados na tabela modelo.

insert into modelo(nome,marcaId) values('Uno',1);

insert into modelo(nome,marcaId) values('Palio',1);

insert into modelo(nome,marcaId) values('Celta',2);

insert into modelo(nome,marcaId) values('Prisma',2);

insert into modelo(nome,marcaId) values('KA',3);

insert into modelo(nome,marcaId) values('Fiesta',3);

insert into modelo(nome,marcaId) values('Silvia',4);

insert into modelo(nome,marcaId) values('Skyline',4);

insert into modelo(nome,marcaId) values('GTR',4);

insert into modelo(nome,marcaId) values('Tiida',4);

insert into modelo(nome,marcaId) values('Civic',6);

insert into modelo(nome,marcaId) values('Fit',6);

insert into modelo(nome,marcaId) values('Kombi', null);

insert into modelo(nome,marcaId) values('Fusca', null);




Consulta usando o IN, traz todos os dados que estão sendo indicados dentro do parenteses.

Exemplo:

SELECT * FROM modelo

WHERE id IN (1,3,5,9);


Resultado:


Consulta usando o NOT IN, traz todos os dados que não estão sendo indicados dentro do parenteses.

Exemplo:

SELECT * FROM modelo

WHERE id not IN (1,3,5,9);


Resultado:


Consulta usando o BETWEEN, traz todos os dados que estão entre o intervalo indicado, inclusive o valor inicial e o final.

Exemplo:

SELECT * FROM modelo

WHERE id BETWEEN 5 AND 8


Resultado:


Continua...