SQL Flashcards

1
Q

O que é SQL?

A

SQL (Structured Query Language) é uma linguagem de programação que permite armazenar, manipular e recuperar dados de bancos relacionais.

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

Quais são os tipos de comandos SQL?

A

DDL - Data Definition Language, define a estrutura do banco de dados
DQL - Data Query Language, permite consultar dados
DML - Data Manipulation Language, permite manipular dados
DCL - Data Control Language, permite controlar o banco de dados
TCL - Transaction Control Language, permite atualizar o banco de dados

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

Quais são os comandos DDL SQL?

A

CREATE, ALTER, RENAME, COMMENT, TRUNCATE e DROP

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

Quais são os comandos DQL SQL?

A

SELECT, FROM, WHERE, GROUP BY, HAVING E ORDER BY

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

Quais são os comandos DML SQL?

A

INSERT, DELETE e UPDATE

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

Quais são os comandos DCL SQL?

A

GRANT e REVOKE

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

Quais são os comandos TCL SQL?

A

COMMIT, ROLLBACK e SAVEPOINT

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

O que é o comando SELECT em SQL e qual sua sintaxe?

A

O comando SELECT serve para retornar dados de uma ou mais tabelas.
A sintaxe básica de um comando SELECT é:
SELECT coluna1, coluna FROM tabela.

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

Como se mostra todas as colunas de uma tabela usando SELECT?

A

Usando a máscara * no lugar do nome das colunas:
SELECT * FROM tabela

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

Para que serve e qual a sintaxe da cláusula WHERE em SQL?

A

O WHERE serve para filtrar os dados no comando SELECT usando uma condição:
SELECT colunas FROM tabela WHERE condição

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

Quais são os operadores que podem ser utilizados na cláusula WHERE em SQL?

A

=, <>, >, >=, <, <=, “(not) between … and …”, “(not) in (lista)”, “(not) like ‘pattern_expression’”, “is/is not null”, AND, OR

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

Quais são as máscaras mais utilizadas do operador LIKE em SQL?

A

% (para indicar vários caracteres) e _ (para indicar um caracter)

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

Para que serve e qual a sintaxe da cláusula ORDER BY em SQL?

A

Serve para ordenar o resultado, pode ser em ordem ascendente ou descendente.
SELECT colunas FROM tabela [WHERE condição] ORDER BY coluna_ordenada ASC/DESC.
Caso o modo de ordenação não seja especificado o modo adotado será ASC

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

Para que serve o comando JOIN em SQL e qual sua sintaxe?

A

O comando JOIN serve para fazer a junção de tabelas em uma consulta SQL.
SELECT tabela1.colunas, tabela2.colunas FROM tabela1 [INNER/RIGHT OUTER/LEFT OUTER/ FULL OUTER] JOIN tabela2 ON condição
A condição serve para juntar as tabelas.

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

Qual a diferença entre INNER e OUTER na junção de tabelas em SQL?

A

INNER -> serão retornados os registros que estão na tabela de junção (tabela formada a partir da condição)
OUTER -> serão retornados todos os registros msm se não estiverem na tabela de junção.

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

Qual a diferença entre LEFT/RIGHT E FULL OUTER JOIN em SQL?

A

LEFT OUTER -> serão retornados todos os registros da primeira tabela msm se não estiverem na tabela de junção.
RIGHT OUTER -> serão retornados todos os registros da segunda tabela msm se não estiverem na tabela de junção.
FULL OUTER -> serão retornados todos os registros das duas tabelas msm se não estiverem na tabela de junção.

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

O que são Nested Queries em SQL?

A

São consultas aninhadas, quando a condição do SELECT tem outro SELECT.

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

Como funciona o comando UNION e qual sua sintaxe em SQL?

A

Serve para criar tabelas unindo verticalmente duas tabelas, ou seja, selecionando colunas de mais de uma tabela e criando umas só.
SELECT coluna1, …, colunan from tabela1
UNION
SELECT coluna1, …, coluna from tabela 2
As colunas precisam ser do msm tipo nas tabelas.

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

Para que serve a cláusula ALL na UNION em SQL?

A

A cláusula UNION por default exclui registros duplicados, para mostrar todos os registros deve-se usar UNION ALL

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

Quais são as principais funções de agregação em SQL e qual a sintaxe para utilizá-las?

A

avg -> Retorna a média aritmética da coluna informada
max -> Retorna o maior valor da coluna informada
min -> Retorna o menor valor da coluna informada
sum -> Retorna o somatório da coluna informada
count -> Retorna a quantidade de registros da coluna informada
SELECT funcao(Coluna) [AS New_Coluna] FROM Tabela

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

Para que serve a função DISTINCT e qual sua sintaxe em SQL?

A

Para evitar que um determinado valor seja repetido em uma consulta.
SELECT DISTINCT(coluna) FROM tabela

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

Para que serve o GROUP BY e qual sua sintaxe em SQL?

A

Serve para agrupar o resultado de uma função em uma consulta a partir de uma coluna.
SELECT função, coluna FROM tabela GROUP BY coluna

23
Q

Para que serve a cláusula HAVING e qual sua sintaxe em SQL?

A

Having é utilizada para filtrar o resultado de uma função de agrupamento utilizada pela cláusula GROUP BY.
SELECT função, coluna FROM tabela GROUP BY coluna HAVING condição

24
Q

Para que serve o operador de concatenação || e qual sintaxe para utilizá-lo em SQL?

A

Para concatenar cadeias de caracteres.
SELECT coluna [string ||] coluna [AS new_coluna] FROM tabela

25
Quais são e para que servem os operadores aritméticos suportados em SQL?
Servem para fazer cálculos com operações aritméticas nas cláusulas (exceto na FROM): +, -, * e / Exemplo na cláusula SELECT: SELECT coluna, operacao_aritmetica [AS new_coluna] FROM tabela
26
Para que serve o comando INSERT e qual sua sintaxe em SQL?
O INSERT serve para adicionar uma ou mais colunas em uma tabela. INSERT INTO tabela (coluna1, coluna2, coluna3…) VALUES (value1-coluna1, value1-coluna2, value1-coluna3, …), … (valuen-coluna1, valuen-coluna2, valuen-coluna3, …);
27
Pode-se usar SELECT aninhado com o INSERT em SQL?
Sim, exemplo: INSERT INTO produtos (id, descricao, preco, categoria) (SELECT id, descricao, preco, categoria FROM produtos WHERE id = 1)
28
Pode-se usar o INSERT sem especificar o nome das colunas?
Sim, basta enviar os valores obedecendo a ordem das colunas na tabela
29
Para que serve o comando DELETE e qual sua sintaxe em SQL?
O comando DELETE serve para deletar registros em SQL. DELETE FROM [ tabela ] WHERE [ condicao_de_busca ];
30
A cláusula WHERE do comando DELETE é obrigatória?
Não, se não usá-la todos os registros são excluídos.
31
Para que serve o comando UPDATE e qual a sua sintaxe em SQL?
O comando UPDATE serve para alterar um ou mais registros em uma tabela. UPDATE [ tabela ] SET [ coluna_1 ] = [ novo_valor_1 ], [ coluna_2 ] = [ novo_valor_2 ] WHERE [ condicao-de-busca ] ORDER BY [ ordem ] => Usado para definir a ordem dos elementos para serem atualizados LIMIT [ limite ]; => Usado para definir a quantidade de elementos a serem atualizados
32
Para que serve o comando CREATE em SQL e qual é a sua sintaxe?
Serve para criar novas estruturas dentro do banco de dados como o próprio banco de dados, tabela e views. CREATE DATABASE NomeDoBanco; CREATE TABLE NomeDaTabela ( Coluna1 TipoDeDado CONSTRAINTS, Coluna2 TipoDeDado CONSTRAINTS, … [PRIMARY KEY (Colunai),] [FOREIGN KEY (Colunai) REFERENCES NomeDaTabelai(Colunaj)] );
33
Quais são os tipos de dados mais comuns em SQL?
INT, VARCHAR(n), DATE, FLOAT, BIT e BLOB
34
Quais são os tipos mais comuns de constraints em SQL?
NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK
35
Para que serve o comando ALTER em SQL e qual sua sintaxe?
Serve para alterar estruturas do banco de dados. A sua sintaxe varia de acordo com a modificação que será realizada, mas geralmente é: ALTER TABLE NomeDaTabela ComandoDeModicação NomeDaColuna Modificação;
36
Como adicionar ou remover colunas ao SQL usando ALTER?
ALTER TABLE nome_da_tabela ADD COLUMN nome_da_nova_coluna TIPO_DE_DADO; ALTER TABLE Pedidos DROP COLUMN Data_de_Criação;
37
Como mudar nomes de colunas e tabelas em SQL usando ALTER?
ALTER TABLE nome_da_tabela RENAME COLUMN nome_atual_da_coluna TO novo_nome_da_coluna; ALTER TABLE nome_atual RENAME TO novo_nome;
38
Como alterar o tipo de dado de uma coluna usando ALTER em SQL?
ALTER TABLE nome_da_tabela MODIFY COLUMN nome_da_coluna NOVOTIPO;
39
Como adicionar ou remover restrições usando ALTER em SQL?
ALTER TABLE Clientes ADD CONSTRAINT email_unico UNIQUE(email); ALTER TABLE Clientes DROP CONSTRAINT email_unico;
40
Como excluir uma tabela ou um database em SQL?
DROP TABLE nome_da_tabela; DROP DATABASE;
41
Como excluir um index em SQL?
Geralmente a sintaxe é DROP INDEX nome_do_indice ON nome_da_tabela;
42
Para que serve e qual a sintaxe do comando TRUNCATE em SQL?
Serve para remover todos os registros de uma tabela sem afetar sua estrutura. TRUNCATE TABLE nome_da_tabela;
43
Qual a diferença entre DELETE, TRUNCATE E DROP?
DELETE exclui registros baseado em condições, DROP elimina toda a tabela e sua estrutura, TRUNCATE elimina todos os registros da tabela, sendo mais eficiente que o delete para esse fim.
44
Para que serve o comando COMMENT em SQL?
Serve para adicionar um comentário em um objeto no banco de dados. COMMENT ON
45
Para que servem os comandos GRANT e REVOKE em SQL e quais suas sintaxes?
Servem para garantir e revogar permissões sobre os dados. GRANT privilegio ON objeto TO usuario; REVOKE privilegio ON objeto TO usuario;
46
Quais são os tipos de permissões no SQL Grant?
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, GRANT, REVOKE.
47
O que são transações em SQL?
As transações SQL garantem que uma sequência de operações SQL seja executada como um processo único e unificado. Isso os torna uma boa ferramenta para manter a integridade dos dados.
48
Quais são as principais propriedades das transações SQL?
ACID -> Atomicidade, Consistência, Isolamento e Durabilidade.
49
Como implementar uma transação em SQL?
Usando BEGIN, COMMIT e ROLLBACK. BEGIN TRANSACTION; Comandos; [ROLLBACK;] COMMIT;
50
Para que serve o comando COMMIT em SQL?
Para finalizar uma transação e solidificar os dados.
51
Para que serve o comando ROLLBACK em SQL?
Para desfazer as mudanças feitas em uma transação em SQL;
52
Para que serve o comando SAVEPOINT em SQL?
Para definir pontos do código que podem ser usados no ROLLBACK.
53
O que é uma VIEW em SQL e qual a sintaxe de criação e exclusão?
Uma view é uma tabela virtual baseada no resultado de um comando. CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; DROP VIEW view_name;
54
Como atualizar uma VIEW em SQL?
CREATE OR REPLACE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;