SQL Flashcards

1
Q

Cláusulas

A

Select
From
Where
Group by
Having
Ordem by

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cláusula Select

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Sintaxe básica da cláusula select

A

SELECT coluna1, coluna2…
FROM tabela1

WHERE condições

… = pode ter outras

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cláusula Grup by

A

1 a cláusula do group by só pode agrupar registros repetidos, por exemplo, não poso agrupar id.
2 para ter group by precisa ter consultas que tenham agregação (média, contar, máximo, mínimo, soma)

3 SELECT cidades, AVG(valor)
FROM vendas
GRUPO BY cidades;

O resultado vai mostrar duas colunas, uma coluna é a representação do agrupamento das cidades da tabela, a outra coluna é a média dos valores de vendas para aqueles registros em que as cidades se repetem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cláusula HAVING e ON

A

Having: faz um filtro em cima do que foi grupado –> após o group by (a cláusula having só poder ser usada com o group by).

1 posso usar o having junto com o where
2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cláusula ORDER BY

A

1 pode ser feito a ordenação em várias colunas ao mesmo tempo.

Sintaxe: ORDER BY coluna1 ASC, coluna2 ASC, coluna3 DESC…

2 no order by pode, ao invés de selecionar as colunas pelo nome, posso selecionar pela posição da esquerda (1) para a direita (n).
3 se nada estiver descrito na ordenação (asc ou desc), o default é o asc e ele que é aplicado.

4 posso usar expressões para ordenar.
4.1 order by right(cpf_cliente,3) –> isso quer dizer que existe uma coluna só de cpfs de clientes e quero que a consulta ordene esses cpfs pelos últimos 3 dígitos de forma ascendente (o right indica á direta, ou seja, os números mais a direitas, ou seja, os números do fim)
4,2 order by left(cpf_cliente,3) –> isso quer dizer que existe uma coluna só de cpfs de clientes e quero que a consulta ordene esses cpfs pelos primeiros 3 dígitos de forma ascendente (o left indica á esquerda, ou seja, os números mais á esquerda ou seja, os números do começo)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Para fazer correlações entre relações (operadores de conjuntos)

A

Union
Union all
Intersect
Except

Para aplicar esses operadores, todas as colunas que estão na tabela A devem também estar na tabela B e na mesma ordem e ter o mesmo tipo de dados.

Todas as tabelas devem ter o mesmo número de colunas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Union

A

1 Junta todos os registros ou algumas que estão na tabela A com os da tabela B.

2 Os registros que forem repetidos nas tabelas, não serão mostrados 2 ou mais vezes, será apenas 1 vez.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Union all

A

É igual ao union, só que ao invés de juntar e não repetir os repetidos como no union, no union all há a repetição dos registros repetidos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Intersect

A

A intersecção junta duas tabelas e o resultado é somente o que as duas tabelas têm em comum.

O que não é em comum não aparece na tabela resultado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Except

A

O except entre duas tabelas A e B produz uma tabela resultado que mostra o que tem na tabela A e não tem em B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Funções de agregação e detalhe

A

COUNT
AVG
SUM
MIM
MAX
HAVING

As funções de agregação são usadas no select, exceto o having, que é usada depois do GRUP BY

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Função COUNT

A

1 Conta a quantidade de valores, independente de se repetirem ou não.
2 o COUNT não conta os valores nuloa
3 se for COUNT * irá contar todas as linhas da tabela
4 se for COUNT(nome da coluna) irá contar todos os valores não nulos daquela coluna
4 se for COUNT(nome da coluna1), COUNT(NOME DA COLUNA2)… Irá contar todos os valores das colunas 1, 2…
5 posso usar o select com count e group by. Basicamente eu vou fazer a contagem e depois vou agrupar essa contagem em cada valor do group by.
5,1 usando um exemplo, posso fazer o count dos produtos vendidos e agrupar essa contagem por estados

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Função AVG

A

Faz a média dos valores da coluna

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Função MAX

A

Retorna o valor máximo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Função SUM

A

Faz a soma dos valores

17
Q

Função MIN

A

Retorna o valor mínimo

18
Q

Função HAVING

A

Preciso ver vídeo

19
Q

Tipos de operadores

A

1) Relacionais = igual, maior, maior que ou igual…..
2) lógicos = and, or, not
3 especiais

20
Q

Operadores especiais (são 5)

A

IS NULL
BETWEEN
LIKE
IN
DISTINCT

O DISTINCT é usado no select, os demais são usados no WHERE

21
Q

IS NULL ou IS NOT NULL

A

Testa se um valor em todas as colunas, só em alguma coluna, ou só é algum registro, se ele é nulo (IS NULL) ou não (IS NOT NULL)

22
Q

BETWEEN

A

Delimita um de pesquisa entre valores

23
Q

LIKE

A

Define um padrão de cadeia de caracteres para pesquisar nos registros

Se quiser pesquisar por vários caracteres ao mesmo tempo na mesma posição, por exemplo usando [a,b,c]% dentro das aspas = pesquisar por nomes que comecem (tenham a primeira letra) com a ou b ou c

Se usar [a-f]%, estou dizendo qualquer nome que comece com a letra A ate a letra F.

Se usar [!acf]% estou dizendo que quero os nomes que não comecem com a ou c ou f.

24
Q

IN

A

Pesquisa e compara se um valor X da pesquisa, se tem algum valor igual (correspondente) dele nos registros

O BETWEEN acha os valores interpolados e o IN acha os valores fixos e determinados (sem intervalo).

25
Q

DISTINCT

A

Elimina os valores repetidos dentro de uma tabela e mostra o resultado na tabela consulta

É usado no select –> SELECT DISTINCT nomecoluna1

Exemplo: uma tabela de vendas que consta as colunas do id da venda, id do cliente, valor da venda, compra. Para saber quais clientes compraram, posso fazer um select da coluna ID cliente e apareceram todos os registros dos clientes que compraram (com valores repetidos = o cliente 1 comprou 4 vezes, ele vai aparecer 4 vezes na consulta). Se usar a palavra reservado DITINCT no select, todos os valores repetidos serão ocultados na tabela resultado, então o cliente 1 só apareceria 1 vez e não mais 4 vezes.

26
Q

DISTINCT X GROUP BY????? Tirar duvida se é isso mesmo

A

O distinct pega os valores repetidos e mostra só uma vez (em apenas uma linha) sem contar a quantidade de vezes que repete,

o grupo by pega os valores repetidos e mostra só uma vez (agrupados em uma linha) contando a quantidade de vezes que ele repete.

27
Q

Tipos de Join

A

1 Inner join

2 Outer join
2.1 Left join
2.2 Right join
2.3 Full join

3 escrever o outer no codigo é optativo –> escrever left ou right + outer + join = escrever left ou tight + join

28
Q

Inner join

A

1 Representa apenas a intersecção entre dois conjuntos = aquilo que é comum entre dois ou mais conjuntos (pensar no diagrama de venn)

29
Q

Outer join

A

1 representa aquilo que não é comum entre dois ou mais conjuntos mais aquilo que é comum (pensar no diagrama de venn)

30
Q

Left outer join

A

1 Representa o conjunto (tabelas) do lado esquerdo mais a intersecção (imaginar diagrama de venn)

2 se tiver duas colunas em duas tabelas separadas, em que a primeira coluna seja alunos e a segunda coluna da outra tabela seja curso, se usar o left outer join, vou representar todos os alunos que tem curso (a intersecção) e todos os alunos que não tem curso (o lado esquerdo).

3 Para os alunos sem curso que vão aparecer, o valor na coluna curso desses alunos será NULL

31
Q

Right outer join

A

1 Representa o conjunto (tabelas) do lado direito mais a intersecção (imaginar diagrama de venn)

2 se tiver duas colunas em duas tabelas separadas, em que a primeira coluna seja alunos e a segunda coluna da outra tabela seja curso, se usar o right outer join, vou representar todos os curso que tem alunos (a intersecção) e todos os cursos mesmk que não tenham alunos (o lado direito).

3 Para os cursos sem aluno que vão aparecer, o valor na coluna aluno desses cursos será NULL

32
Q

Full join

A
33
Q

Comando truncate

A

Apaga todos os registros da tabela de uma só vez

34
Q

Comando insert - sintaxe

A

● INSERT INTO nome da tabela
● *(atributos da tabela separados por vírgula)
● VALUES
● (valores a serem inseridos)

  • = essa parte é opcional. Se for usada, posso inserir os valores na ordem que os atributos estiverem dentro dos parênteses, se não for usada, tenho que inserir os valores na ordem que os atributos vai estar na tabela.
35
Q

Comando update - sintaxe

A

● UPDATE nome da tabela
● SET nome da coluna = valor novo, nome da coluna 2 = valor novo 2…
● WHERE *condição

  • = na condição posso ter uma subquery (um select dentro de um comando insert, delete é update)
36
Q

Comando delete - sintaxe

A

DELETE FROM nome da tabela
WHERE *condição

  • = na condição posso ter uma subquery (um select dentro de um comando insert, delete é update)
37
Q

Cláusula limit

A

SELECT [ coluna1, coluna2, … ]
FROM [ tabela1 ]
LIMIT [índice inicial , limite ]

Índice inicial = pode qual posição começa

Limite = até onde vai

Se começar da posição 0 e for até o limite 3, vai trazer 3 registros. Se começar da 1 e for até o limite 3, vai trazer 2 registros, ocultando o registro de posição 1.