Podcast
Questions and Answers
Qual das seguintes opções descreve melhor a função da linguagem SQL?
Qual das seguintes opções descreve melhor a função da linguagem SQL?
- Armazenar e gerenciar dados em sistemas de gerenciamento de banco de dados relacionais. (correct)
- Criar interfaces gráficas de usuário para sistemas operacionais.
- Desenvolver aplicações web dinâmicas.
- Realizar cálculos matemáticos complexos em tempo real.
As palavras-chave SQL são sensíveis a maiúsculas e minúsculas.
As palavras-chave SQL são sensíveis a maiúsculas e minúsculas.
False (B)
Qual das alternativas a seguir NÃO é uma vantagem de usar SQL?
Qual das alternativas a seguir NÃO é uma vantagem de usar SQL?
- Padrões bem definidos que promovem a consistência.
- Necessidade de codificação extensa para tarefas simples. (correct)
- Alta velocidade na execução de consultas.
- Portabilidade entre diferentes sistemas de gerenciamento de banco de dados.
Um ______ SQL é usado para definir os tipos de valores que uma coluna pode conter.
Um ______ SQL é usado para definir os tipos de valores que uma coluna pode conter.
Combine os seguintes comandos SQL com sua respectiva categoria DDL, DML, DCL, TCL ou DQL:
Combine os seguintes comandos SQL com sua respectiva categoria DDL, DML, DCL, TCL ou DQL:
Qual comando DDL é usado para remover uma tabela junto com sua estrutura e registros?
Qual comando DDL é usado para remover uma tabela junto com sua estrutura e registros?
Comandos DML são auto-comitted, o que significa que suas mudanças são permanentemente salvas no banco de dados.
Comandos DML são auto-comitted, o que significa que suas mudanças são permanentemente salvas no banco de dados.
Qual é o comando SQL usado para modificar os valores de uma coluna em uma tabela?
Qual é o comando SQL usado para modificar os valores de uma coluna em uma tabela?
Comandos DCL são usados para conceder e revogar ______ de acesso em um banco de dados.
Comandos DCL são usados para conceder e revogar ______ de acesso em um banco de dados.
Quais comandos TCL são usados para gerenciar transações em um banco de dados?
Quais comandos TCL são usados para gerenciar transações em um banco de dados?
O comando SELECT
pertence à categoria DDL de comandos SQL.
O comando SELECT
pertence à categoria DDL de comandos SQL.
A função do operador aritmético *
em SQL é realizar a ______ entre dois valores.
A função do operador aritmético *
em SQL é realizar a ______ entre dois valores.
Qual operador lógico SQL permite a existência de múltiplas condições em uma instrução?
Qual operador lógico SQL permite a existência de múltiplas condições em uma instrução?
Qual cláusula e usada para selecionar atributos baseados em uma condição?
Qual cláusula e usada para selecionar atributos baseados em uma condição?
Combine os seguintes tipos de JOIN
com suas descrições:
Combine os seguintes tipos de JOIN
com suas descrições:
O que é uma view em SQL?
O que é uma view em SQL?
Um index em SQL sempre melhora a performance de todos os tipos de consultas, incluindo INSERT
e UPDATE
.
Um index em SQL sempre melhora a performance de todos os tipos de consultas, incluindo INSERT
e UPDATE
.
Qual é o comando SQL usado para melhorar a velocidade das consultas SELECT
?
Qual é o comando SQL usado para melhorar a velocidade das consultas SELECT
?
Uma subquery em SQL é uma consulta aninhada dentro de outra consulta e é geralmente incorporada dentro da cláusula ______.
Uma subquery em SQL é uma consulta aninhada dentro de outra consulta e é geralmente incorporada dentro da cláusula ______.
Qual comando não pode ser usado dentro de uma subquery em SQL?
Qual comando não pode ser usado dentro de uma subquery em SQL?
GROUP BY
é usado em SQL para agregar resultados usando funções como SUM
e AVG
.
GROUP BY
é usado em SQL para agregar resultados usando funções como SUM
e AVG
.
Qual cláusula SQL é usada para especificar uma condição de pesquisa para um grupo ou agregado?
Qual cláusula SQL é usada para especificar uma condição de pesquisa para um grupo ou agregado?
A cláusula ______
em SQL é usada para ordenar o conjunto de resultados em ordem ascendente ou descendente.
A cláusula ______
em SQL é usada para ordenar o conjunto de resultados em ordem ascendente ou descendente.
Qual função SQL é usada para contar o número de linhas em uma tabela?
Qual função SQL é usada para contar o número de linhas em uma tabela?
A função MIN em SQL é usada para calcular a média dos valores em uma coluna.
A função MIN em SQL é usada para calcular a média dos valores em uma coluna.
Qual função SQL retorna a soma de todos os valores em uma coluna?
Qual função SQL retorna a soma de todos os valores em uma coluna?
Para combinar registros de duas tabelas com base em uma coluna em comum, utiliza-se a cláusula ______
em SQL.
Para combinar registros de duas tabelas com base em uma coluna em comum, utiliza-se a cláusula ______
em SQL.
Qual tipo de JOIN
retorna apenas os registros que têm valores correspondentes em ambas as tabelas?
Qual tipo de JOIN
retorna apenas os registros que têm valores correspondentes em ambas as tabelas?
Quando um LEFT JOIN
não encontra correspondências na tabela da direita, ele preenche os campos com valores NULL
.
Quando um LEFT JOIN
não encontra correspondências na tabela da direita, ele preenche os campos com valores NULL
.
Qual tipo de operação SQL é usada para combinar os resultados de duas ou mais declarações SELECT
?
Qual tipo de operação SQL é usada para combinar os resultados de duas ou mais declarações SELECT
?
A operação ______
retorna as linhas comuns de ambas as declarações SELECT
.
A operação ______
retorna as linhas comuns de ambas as declarações SELECT
.
Quais operadores SQL permite encontrar linhas que são presentes na primeira consulta, mas ausentes na segunda?
Quais operadores SQL permite encontrar linhas que são presentes na primeira consulta, mas ausentes na segunda?
O SQL UNION
inclui duplicatas no resultado final.
O SQL UNION
inclui duplicatas no resultado final.
Qual dos seguintes tipos de dados NÃO é uma categoria geral de tipo de dados SQL?
Qual dos seguintes tipos de dados NÃO é uma categoria geral de tipo de dados SQL?
Usando o comando ______ permite adicionar um novo atributo a uma tabela existente.
Usando o comando ______ permite adicionar um novo atributo a uma tabela existente.
Se um administrador deseja dar aos usuários permissão para acessar o banco de dados, qual é o comando que eles usariam?
Se um administrador deseja dar aos usuários permissão para acessar o banco de dados, qual é o comando que eles usariam?
As visualizações são tabelas físicas.
As visualizações são tabelas físicas.
Qual das ferramentas a seguir não está associada a SQL como seu idioma padrão?
Qual das ferramentas a seguir não está associada a SQL como seu idioma padrão?
Combine as seguintes declarações com seu exemplo correspondente:
Combine as seguintes declarações com seu exemplo correspondente:
UPDATE students SET User_Name = 'Sonoo' WHERE Student_Id = ______
UPDATE students SET User_Name = 'Sonoo' WHERE Student_Id = ______
O DQL contém apenas um comando. Qual é esse comando?
O DQL contém apenas um comando. Qual é esse comando?
Qual operador SQL você usaria como substituto funcional para ORDER BY?
Qual operador SQL você usaria como substituto funcional para ORDER BY?
Flashcards
O que é SQL?
O que é SQL?
SQL significa Structured Query Language. É usado para armazenar e gerenciar dados em um Sistema de Gerenciamento de Banco de Dados Relacional (RDBMS).
Sensibilidade a maiúsculas e minúsculas do SQL
Sensibilidade a maiúsculas e minúsculas do SQL
SQL não diferencia maiúsculas de minúsculas, mas as palavras-chave são geralmente escritas em maiúsculas para facilitar a leitura.
Processo SQL
Processo SQL
Um comando SQL é executado, o sistema encontra a melhor maneira de executar a solicitação. O motor SQL determina como interpretar a tarefa.
Tipos de dados SQL
Tipos de dados SQL
Signup and view all the flashcards
Comandos SQL
Comandos SQL
Signup and view all the flashcards
Linguagem de Definição de Dados (DDL)
Linguagem de Definição de Dados (DDL)
Signup and view all the flashcards
CREATE (DDL)
CREATE (DDL)
Signup and view all the flashcards
DROP (DDL)
DROP (DDL)
Signup and view all the flashcards
ALTER (DDL)
ALTER (DDL)
Signup and view all the flashcards
TRUNCATE (DDL)
TRUNCATE (DDL)
Signup and view all the flashcards
Linguagem de Manipulação de Dados (DML)
Linguagem de Manipulação de Dados (DML)
Signup and view all the flashcards
INSERT (DML)
INSERT (DML)
Signup and view all the flashcards
UPDATE (DML)
UPDATE (DML)
Signup and view all the flashcards
Linguagem de Controle de Dados (DCL)
Linguagem de Controle de Dados (DCL)
Signup and view all the flashcards
GRANT (DCL)
GRANT (DCL)
Signup and view all the flashcards
REVOKE (DCL)
REVOKE (DCL)
Signup and view all the flashcards
Linguagem de Controle de Transação (TCL)
Linguagem de Controle de Transação (TCL)
Signup and view all the flashcards
COMMIT (TCL)
COMMIT (TCL)
Signup and view all the flashcards
ROLLBACK (TCL)
ROLLBACK (TCL)
Signup and view all the flashcards
SAVEPOINT (TCL)
SAVEPOINT (TCL)
Signup and view all the flashcards
Linguagem de Consulta de Dados (DQL)
Linguagem de Consulta de Dados (DQL)
Signup and view all the flashcards
SELECT (DQL)
SELECT (DQL)
Signup and view all the flashcards
Views em SQL
Views em SQL
Signup and view all the flashcards
Índices SQL
Índices SQL
Signup and view all the flashcards
CREATE INDEX
CREATE INDEX
Signup and view all the flashcards
Subqueries SQL
Subqueries SQL
Signup and view all the flashcards
GROUP BY
GROUP BY
Signup and view all the flashcards
HAVING
HAVING
Signup and view all the flashcards
ORDER BY
ORDER BY
Signup and view all the flashcards
Funções Agregadas SQL
Funções Agregadas SQL
Signup and view all the flashcards
COUNT
COUNT
Signup and view all the flashcards
SUM
SUM
Signup and view all the flashcards
AVG
AVG
Signup and view all the flashcards
MAX
MAX
Signup and view all the flashcards
MIN
MIN
Signup and view all the flashcards
SQL JOIN
SQL JOIN
Signup and view all the flashcards
INNER JOIN
INNER JOIN
Signup and view all the flashcards
LEFT JOIN
LEFT JOIN
Signup and view all the flashcards
RIGHT JOIN
RIGHT JOIN
Signup and view all the flashcards
Operação de Conjunto SQL
Operação de Conjunto SQL
Signup and view all the flashcards
Union Operation
Union Operation
Signup and view all the flashcards
Study Notes
Fundamentos de SQL
- SQL significa Structured Query Language (Linguagem de Consulta Estruturada).
- É usado para armazenar e gerenciar dados em um Sistema de Gerenciamento de Banco de Dados Relacional (SGBDR).
- SQL é uma linguagem padrão para sistemas de bancos de dados relacionais que possibilita aos usuários criar, ler, atualizar e excluir bancos de dados e tabelas relacionais.
- Todos os RDBMS (como MySQL, Informix, Oracle, MS Access e SQL Server) usam SQL como sua linguagem de banco de dados padrão.
- SQL permite aos usuários consultar o banco de dados de várias maneiras usando comandos semelhantes ao inglês.
Regras de SQL
- A linguagem de consulta estruturada não diferencia maiúsculas e minúsculas.
- Geralmente, as palavras-chave do SQL são escritas em letras maiúsculas.
- As instruções SQL dependem das linhas de texto, sendo possível usar uma única instrução SQL em uma ou várias linhas de texto.
- É possível executar a maioria das ações em um banco de dados usando as instruções SQL.
- SQL depende do cálculo relacional de tuplas e da álgebra relacional.
Processo SQL
- Quando um comando SQL é executado para qualquer RDBMS, o sistema determina a melhor maneira de realizar a solicitação.
- O motor SQL estabelece a forma de interpretar a tarefa.
- Vários componentes estão incluídos no processo, como Engine de otimização, query engine, despachante de query, classic, etc.
- As consultas não SQL são tratadas pelo query engine clássico, mas o motor de query SQL não lida com arquivos lógicos.
Vantagens do SQL
- Possui alta velocidade
- Não necessita de codificação
- Possui padrões bem definidos
- Portabilidade
- Linguagem interativa
- Visualização de múltiplos dados
Tipos de Dados SQL
- O tipo de dados SQL é usado para definir os valores que uma coluna pode conter.
- Cada coluna deve ter um nome e um tipo de dado na tabela do banco de dados.
- São eles: Binário, Numérico, Extrair Numérico, String, Data.
Comandos SQL
- Comandos SQL são instruções usadas para se comunicar com o banco de dados.
- Eles são usados para realizar tarefas, funções e consultas específicas de dados.
- SQL pode executar várias tarefas, como criar uma tabela, adicionar dados a tabelas, excluir uma tabela, modificar uma tabela, definir permissão para usuários.
Tipos de Comandos SQL
- Existem cinco tipos de comandos SQL: DDL, DML, DCL, TCL e DQL.
Linguagem de Definição de Dados (DDL)
- DDL altera a estrutura da tabela, como criar, excluir e alterar tabelas.
- Todos os comandos DDL são auto-commitados, o que significa que salvam permanentemente todas as alterações no banco de dados.
- Abaixo estão alguns comandos que estão dentro DDL:
- CREATE (Criar)
- ALTER (Alterar)
- DROP (Excluir)
- TRUNCATE (Truncar)
DDL - CREATE (Criar)
- CREATE: É usado para criar uma nova tabela no banco de dados.
- Sintaxe: CREATE TABLE nome_da_tabela (nome_da_coluna tipos_de_dados[,....]);
- Exemplo: CREATE TABLE EMPREGADO(Nome VARCHAR2(20), Email VARCHAR2(100), DOB DATE);
DDL - DROP (Excluir)
- DROP: É usado para excluir a estrutura e o registro armazenados na tabela.
- Sintaxe: DROP TABLE;
- Exemplo: DROP TABLE EMPREGADO;
DDL - ALTER (Alterar)
- ALTER: É usado para alterar a estrutura do banco de dados, seja para modificar as características de um atributo existente ou adicionar um novo atributo.
- Sintaxe:
- ALTER TABLE nome_da_tabela ADD nome_da_coluna DEFINIÇÃO_DA_COLUNA;
- ALTER TABLE MODIFY(DEFINIÇÃO_DA_COLUNA....);
- Exemplo:
- ALTER TABLE DETALHES_DO_ALUNO ADD(ENDEREÇO VARCHAR2(20));
- ALTER TABLE DETALHES_DO_ALUNO MODIFY (NOME VARCHAR2(20));
DDL - TRUNCATE (Truncar)
- TRUNCATE: Usado para excluir todas as linhas da tabela e liberar o espaço que a contém.
- Sintaxe: TRUNCATE TABLE nome_da_tabela;
- Exemplo: TRUNCATE TABLE EMPREGADO;
Linguagem de Manipulação de Dados (DML)
- Comandos DML são usados para modificar o banco de dados e são responsáveis por todas as formas de ALTERAÇÕES no banco de dados.
- Os comandos DML não são auto-commitados, ou seja, não podem salvar permanentemente todas as alterações no banco de dados. Eles podem ser revertidos com rollback.
- Abaixo estão alguns comandos DML:
- INSERT (Inserir)
- UPDATE (Atualizar)
- DELETE (Excluir)
DML - INSERT (Inserir)
- INSERT: A instrução INSERT é uma query SQL usada para inserir dados em uma linha de uma tabela.
- Sintaxe:
- INSERT INTO nome_da_tabela (col1, col2, col3,.... col N) VALUES (valor1, valor2, valor3, .... valorN);
- OU
- INSERT INTO nome_da_tabela VALUES (valor1, valor2, valor3, .... valorN);
- Exemplo: INSERT INTO XYZ (Autor, Assunto) VALUES ("Sonoo", "DBMS");
DML - UPDATE (Atualizar)
- Update: Este comando é usado para atualizar ou modificar o valor de uma coluna na tabela.
- Sintaxe: UPDATE nome_da_tabela SET [nome_da_coluna1 = valor1,...nome_da_colunaN = valorN] [WHERE CONDITION]
- Exemplo:
- UPDATE alunos
- SET Nome_do_Usuário = 'Sonoo'
- WHERE Id_do_Aluno = '3'
Linguagem de Controle de Dados
- Comandos DCL são usados para CONCEDER e RETIRAR a autoridade de qualquer usuário do banco de dados.
- Aqui estão alguns comandos DCL:
- Grant (Conceder)
- Revoke (Revogar)
DCL - Grant (Conceder)
- GRANT: É usado para conceder privilégios de acesso de usuário a um banco de dados.
- Exemplo: GRANT SELECT, UPDATE ON MINHA_TABELA PARA ALGUÉM_USUÁRIO, OUTRO_USUÁRIO;
DCL - Revoke (Revogar)
- REVOKE: É usado para retirar permissões do usuário.
- Exemplo: REVOKE SELECT, UPDATE ON MINHA_TABELA FROM USUÁRIO1, USUÁRIO2;
Linguagem de Controle de Transações
- Os comandos TCL só podem ser usados com comandos DML como INSERT, DELETE e UPDATE.
- Essas operações são automaticamente commitadas no banco de dados, por isso não podem ser usadas ao criar ou remover tabelas.
- Aqui estão alguns comandos TCL:
- COMMIT (Confirmar)
- ROLLBACK (Reverter)
- SAVEPOINT (Ponto de Restauração)
TCL - COMMIT (Confirmar)
- COMMIT: Comando usado para salvar todas as transações no banco de dados.
- Sintaxe: COMMIT;
- Exemplo:
- DELETE FROM CLIENTES
- WHERE IDADE = 25;
- COMMIT;
TCL - ROLLBACK (Reverter)
- ROLLBACK: Comando usado para desfazer transações que ainda não foram salvas no banco de dados.
- Sintaxe: ROLLBACK;
TCL - SAVEPOINT (Ponto de Restauração)
- SAVEPOINT: Usado para reverter a transação para um determinado ponto sem reverter a transação inteira.
- Sintaxe: SAVEPOINT NOME_DO_PONTO_DE_RESTAURAÇÃO;
Linguagem de Consulta de Dados
- DQL é usado para buscar os dados do banco de dados.
- Usa apenas um comando: SELECT (Selecionar)
DQL - SELECT (Selecionar)
- SELECT: É o mesmo que a operação de projeção da álgebra relacional e é usado para selecionar o atributo com base na condição descrita pela cláusula WHERE.
- Sintaxe: SELECT expressões FROM TABLES WHERE condições;
- Exemplo: SELECT nome_do_emp FROM empregado WHERE idade > 20;
Operadores SQL
- Existem vários tipos de operadores SQL: Aritmético, Comparação, Lógico.
Operadores Aritméticos SQL
- "+" Adiciona o valor de ambos os operandos.
- "-" Subtrai o operando da direita do operando da esquerda.
- "*" Multiplica o valor de ambos os operandos.
- "/" Divide o operando da esquerda pelo operando da direita.
- "%" Divide o operando da esquerda pelo operando da direita e retorna o resto.
Operadores de Comparação SQL
- "=" Verifica se dois valores de operandos são iguais ou não. Se os valores forem iguais, a condição se torna verdadeira.
- "!=" Verifica se dois valores de operandos são iguais ou não. Se os valores não forem iguais, a condição se torna verdadeira.
- "<>" Verifica se dois valores de operandos são iguais ou não. Se os valores não forem iguais, a condição se torna verdadeira.
- ">" Verifica se o valor do operando da esquerda é maior que o valor do operando da direita. Se sim, a condição se torna verdadeira.
- "<" Verifica se o valor do operando da esquerda é menor que o valor do operando da direita. Se sim, a condição se torna verdadeira.
- ">=" Verifica se o valor do operando da esquerda é maior ou igual ao valor do operando da direita. Se sim, a condição se torna verdadeira.
- "<=" Verifica se o valor do operando da esquerda é menor ou igual ao valor do operando da direita. Se sim, a condição se torna verdadeira.
- "!" Verifica se o valor do operando da esquerda não é menor que o valor do operando da direita. Se sim, a condição se torna verdadeira.
- ">!" Verifica se o valor do operando da esquerda não é maior que o valor do operando da direita. Se sim, a condição se torna verdadeira.
Operadores Lógicos SQL
- ALL (Todos): Compara um valor a todos os valores em outro conjunto de valores.
- AND (E): Permite a existência de múltiplas condições em uma instrução SQL.
- ANY (Algum): Compara os valores na lista de acordo com a condição.
- Between (Entre): Usado para pesquisar valores que estão dentro de um conjunto de valores.
- IN (Em): Compara um valor a um valor de lista especificado.
- NOT (Não): Inverte o significado de qualquer operador lógico.
- OR (Ou): Combina múltiplas condições em instruções SQL.
- EXIST (Existe): Usado para pesquisar a presença de uma linha em uma tabela especificada.
- LIKE (Semelhante): Compara o valor com valores semelhantes usando um operador curinga.
Exemplos de comandos SQL
- Criação de uma tabela: CREATE TABLE EMPREGADO (EMP_ID INT NOT NULL, EMP_NAME VARCHAR (25) NOT NULL, PHONE_NO INT NOT NULL, ADDRESS CHAR (30), PRIMARY KEY (ID));
- Descrição da tabela EMPREGADO: DESC EMPREGADO;
- Excluir da tabela onde a condição: DELETE FROM nome_da_tabela WHERE condição
- Excluir a tabela "tabela_nome": DROP TABLE "tabela_nome";
- Selecionar tudo da tabela: SELECT * FROM nome_da_tabela;
- Inserir na tabela com lista de colunas: INSERT INTO nome_da_tabela[(col1, col2, col3,.... col N)] VALUES (valor1, valor2, value 3, .... Valor N);
- Inserir valores de colunas na tabela: INSERT INTO nome_da_tabela VALUES (valor1, valor2, value 3, .... Valor N);
- Atualizar tabela: UPDATE nome_da_tabela SET nome_da_coluna = valor WHERE condição;
- Atualizar tabela (vários valores): UPDATE nome_da_tabela SET nome_da_coluna = valor1, nome_da_coluna2 = valor WHERE condição;
- Deletar da tabela onde: DELETE FROM nome_da_tabela WHERE alguma_condição;
Views em SQL
- As views em SQL são consideradas tabelas virtuais que contêm linhas e colunas.
- Para criar a view, é possível selecionar os campos de uma ou mais tabelas presentes no banco de dados.
- A view pode ter linhas específicas com base em uma determinada condição ou todas as linhas de uma tabela.
Criando Views
- É possível criar uma view usando a instrução CREATE VIEW a partir de uma única ou múltiplas tabelas.
- Sintaxe:
- CREATE VIEW nome_da_view AS
- SELECT coluna1, coluna2.....
- FROM nome_da_tabela
- WHERE condição;
- Criando View de uma única tabela:
- CREATE VIEW DetalhesDaView AS
- SELECT NOME, ENDEREÇO
- FROM Detalhes_Do_Aluno
- WHERE ID_DO_ALUNO < 4;
- Criando View de múltiplas tabelas:
- CREATE VIEW ViewDeNotas AS
- SELECT Detalhes_Do_Aluno.NOME, Detalhes_Do_Aluno.ENDEREÇO, Notas_Do_Aluno.NOTAS
- FROM Detalhes_Do_Aluno, Notas_Do_Aluno
- WHERE Detalhes_Do_Aluno.NOME = Notas_Do_Aluno.NOME;
- SELECT * FROM ViewDeNotas;
- DROP VIEW nome_da_view;
Índices SQL
- Índices são tabelas de pesquisa especiais usadas para recuperar dados do banco de dados muito rapidamente.
- Um índice é usado para acelerar consultas SELECT e cláusulas WHERE.
- Mostrará os dados inseridos com instruções INSERT e UPDATE.
- Índices podem ser criados ou removidos sem afetar os dados.
- Um índice em um banco de dados é como um índice no final de um livro.
- Criar instrução de índice: CREATE INDEX nome_índice ON nome_tabela (coluna1, coluna2, ...);
- Sintaxe para criar um índice exclusivo: CREATE UNIQUE INDEX nome_índice ON nome_tabela (coluna1, coluna2, ...);
- Exemplo de criação de um índice exclusivo: CREATE UNIQUE INDEX websites_idx ON websites (nome_site);
- Sintaxe para remover um índice: DROP INDEX nome_índice;
- Exemplo de remoção de um índice: DROP INDEX websites_idx;
Subconsultas SQL
- Uma subconsulta é uma consulta dentro de outra consulta SQL e incorporada dentro da cláusula WHERE.
- Regras Importantes:
- Uma subconsulta pode ser colocada em várias cláusulas SQL, como WHERE, FROM e HAVING.
- É possível usar a subconsulta com instruções SELECT, UPDATE, INSERT e DELETE juntamente com operadores como =, <, >, >=, <=, IN, BETWEEN, etc.
- Uma subconsulta é uma consulta dentro de outra consulta. A consulta externa é conhecida como a consulta principal, e a consulta interna é conhecida como subconsulta.
- Subconsultas estão no lado direito do operador de comparação.
- Uma subconsulta é colocada entre parênteses.
- Na subconsulta, o comando ORDER BY não pode ser usado, mas o comando GROUP BY pode ser usado para desempenhar a mesma função que o comando ORDER BY.
Subconsultas com a Instrução SELECT
- Subconsultas SQL são usadas com mais frequência com a instrução SELECT.
- Sintaxe:
- SELECT nome_coluna
- FROM nome_tabela
- WHERE expressão_nome_coluna operador
- (SELECT nome_coluna from nome_tabela WHERE ... );
- Exemplo:
- SELECT *
- FROM EMPREGADO
- WHERE ID IN (SELECT ID
- FROM EMPREGADO
- WHERE SALÁRIO > 4500);
Subconsultas com a Instrução INSERT
- A subconsulta SQL também pode ser usada com a instrução INSERT.
- Na instrução INSERT, os dados retornados da subconsulta são usados para inserir em outra tabela.
- Na subconsulta, os dados selecionados podem ser modificados com qualquer uma das funções de caractere e data.
- Sintaxe:
- INSERT INTO nome_da_tabela (coluna1, coluna2, coluna3....)
- SELECT * FROM nome_da_tabela WHERE OPERADOR_DE_VALOR
- Exemplo:
- INSERT INTO EMPREGADO_BKP
- SELECT * FROM EMPREGADO
- WHERE ID IN (SELECT ID
- FROM EMPREGADO);
Subconsultas com a Instrução UPDATE
- A subconsulta SQL pode ser usada em conjunto com a instrução UPDATE.
- Quando uma subconsulta é usada com a instrução UPDATE, uma ou várias colunas em uma tabela podem ser atualizadas.
- Sintaxe:
- UPDATE tabela SET coluna_nome = novo_valor WHERE OPERADOR_DE_VALOR
- (SELECT NOME_DA_COLUNA FROM NOME_DA_TABELA WHERE condição);
- Exemplo:
- Suponha que temos uma tabela EMPREGADO_BKP disponível, que é um backup da tabela EMPREGADO. O exemplo fornecido atualiza o SALÁRIO em 0,25 vezes na tabela EMPREGADO para todos os funcionários cuja IDADE seja maior ou igual a 29.
- UPDATE EMPREGADO
- SET SALÁRIO = SALÁRIO * 0,25
- WHERE IDADE IN (SELECT IDADE FROM CLIENTES_BKP
- WHERE IDADE >= 29);
Subconsultas com a Instrução DELETE
- A subconsulta SQL pode ser usada em conjunto com a instrução DELETE, assim como qualquer outra instrução mencionada acima.
- Sintaxe:
- DELETE FROM NOME_DA_TABELA WHERE OPERADOR_DE_VALOR
- (SELECT NOME_DA_COLUNA FROM NOME_DA_TABELA WHERE condição);
- Exemplo:
- Suponha que temos uma tabela EMPREGADO_BKP disponível, que é um backup da tabela EMPREGADO. O exemplo fornecido exclui os registros da tabela EMPREGADO para todos os funcionários cuja IDADE seja maior ou igual a 29.
- DELETE FROM EMPREGADO
- WHERE IDADE IN (SELECT IDADE FROM EMPREGADO_BKP
- WHERE IDADE >= 29 );
Cláusulas SQL
- São elas: Group by (Agrupar por), Having (Tendo), Order by (Ordenar por).
GROUP BY
- A instrução SQL GROUP BY é usada para organizar dados idênticos em grupos.
- A instrução GROUP BY é usada com a instrução SQL SELECT.
- A instrução GROUP BY segue a cláusula WHERE em uma instrução SELECT e precede a cláusula ORDER BY.
- A instrução GROUP BY é usada com a função de agregação.
- Sintaxe:
- SELECT coluna
- FROM nome_da_tabela
- WHERE condições
- GROUP BY coluna
- ORDER BY coluna
- Exemplo:
- SELECT EMPRESA, COUNT(*)
- FROM PRODUTO_MAST
- GROUP BY EMPRESA;
HAVING
- A cláusula HAVING é usada para especificar uma condição de pesquisa para um grupo ou um agregado.
- HAVING é usado em uma cláusula GROUP BY. Se não estiver usando a cláusula GROUP BY, pode usar a função HAVING como uma cláusula WHERE.
- Sintaxe:
- SELECT coluna1, coluna2 FROM
- nome_da_tabela
- WHERE condições
- GROUP BY coluna1, coluna2
- HAVING condições
- ORDER BY coluna1, coluna2;
- Exemplo:
- SELECT EMPRESA, COUNT(*)
- FROM PRODUTO_MAST
- GROUP BY EMPRESA
- HAVING COUNT(*)>2;
ORDER BY
- A cláusula ORDER BY classifica o conjunto de resultados em ordem crescente ou decrescente.
- Classifica os registros em ordem crescente por padrão. A palavra-chave DESC é usada para classificar os registros em ordem decrescente.
- Sintaxe:
- SELECT coluna1, coluna2
- FROM nome_da_tabela
- WHERE condição
- ORDER BY coluna1, coluna2... ASC|DESC;
- Exemplo:
- SELECT *
- FROM CLIENTE
- ORDER BY NOME;
- OR
- SELECT *
- FROM CLIENTE
- ORDER BY NOME DESC;
Funções de Agregação SQL
- São elas: COUNT (Contar), SUM (Somar), AVG (Média), MAX (Máximo), MIN (Mínimo).
COUNT
- A função COUNT é usada para contar o número de linhas em uma tabela de banco de dados e funciona com tipos de dados numéricos e não numéricos.
- A função COUNT usa o COUNT(*) que retorna a contagem de todas as linhas de uma tabela especificada e considera duplicadas e Null.
- Sintaxe: COUNT(*) ou COUNT([ALL|DISTINCT] expressão )
- Exemplo:
- SELECT COUNT(*) FROM PRODUTO_MAST;
- SELECT COUNT(*) FROM PRODUTO_MAST; WHERE TAXA>=20;
- SELECT COUNT(DISTINCT EMPRESA) FROM PRODUTO_MAST;
- SELECT EMPRESA, COUNT(*) FROM PRODUTO_MAST GROUP BY EMPRESA;
- SELECT EMPRESA, COUNT() FROM PRODUTO_MAST GROUP BY EMPRESA HAVING COUNT()>2;
SUM
- A função Sum é usada para calcular a soma de todas as colunas selecionadas e funciona apenas em campos numéricos.
- Sintaxe: SUM() or SUM( [ALL| DISTINCT] expressão)
- Exemplo:
- SELECT SUM(CUSTO) FROM PRODUTO_MAST;
- SUM() com WHERE
- SELECT SUM(CUSTO) FROM PRODUTO_MAST WHERE QTD>3;
- SUM() com GROUP BY
- SELECT SUM(CUSTO) FROM PRODUTO_MAST WHERE QTD>3 GROUP BY EMPRESA;
- SUM() com HAVING
- SELECT EMPRESA, SUM(CUSTO) FROM PRODUTO_MAST GROUP BY EMPRESA HAVING SUM(CUSTO)>=170;
AVG
- A função AVG é usada para calcular o valor médio do tipo numérico e retorna a média de todos os valores não nulos.
- Sintaxe: AVG() or AVG( [ALL| DISTINCT] expressão)
- Exemplo: SELECT AVG(CUSTO) FROM PRODUTO_MAST;
MAX
- A função MAX é usada para encontrar o valor máximo de uma determinada coluna.
- Esta função determina o maior valor de todos os valores selecionados de uma coluna.
- Sintaxe: MAX() or MAX( [ALL | DISTINCT] expressão)
- Exemplo: SELECT MAX(TAXA) FROM PRODUTO_MAST;
MIN
- A função MIN é usada para encontrar o valor mínimo de uma determinada coluna.
- Esta função determina o menor valor de todos os valores selecionados de uma coluna.
- Sintaxe: MIN() or MIN( [ALL | DISTINCT] expressão)
- Exemplo: SELECT MIN(TAXA) FROM PRODUTO_MAST;
SQL JOIN
- SQL, JOIN, significa "combinar duas ou mais tabelas" e é usado para combinar os registros para duas ou mais tabelas em um banco de dados.
- Tipos de SQL JOIN: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN.
INNER JOIN
- INNER JOIN seleciona os registros que possuem valores correspondentes em ambas as tabelas, desde que a condição seja satisfeita e retorna a combinação de todas as linhas de ambas as tabelas onde a condição é satisfeita.
- Sintaxe:
- SELECT tabela1.coluna1, tabela1.coluna2, tabela2.coluna1,...
- FROM tabela1
- INNER JOIN tabela2
- ON tabela1.coluna_correspondente = tabela2.coluna_correspondente;
- Exemplo:
- SELECT EMPREGADO.NOME_EMP, PROJETO.DEPARTAMENTO
- FROM EMPREGADO
- INNER JOIN PROJETO
- ON PROJETO.ID_EMP = EMPREGADO.ID_EMP;
LEFT JOIN
- SQL left retorna todos os valores da tabela da esquerda e os valores correspondentes da tabela da direita. Se não houver valor de junção correspondente, ele retornará NULL.
- Sintaxe:
- SELECT tabela1.coluna1, tabela1.coluna2, tabela2.coluna1,...
- FROM tabela1
- LEFT JOIN tabela2
- ON tabela1.coluna_correspondente = tabela2.coluna_correspondente;
- Exemplo:
- SELECT EMPREGADO.NOME_EMP, PROJETO.DEPARTAMENTO
- FROM EMPREGADO
- LEFT JOIN PROJETO
- ON PROJETO.ID_EMP = EMPREGADO.ID_EMP;
RIGHT JOIN
- RIGHT JOIN retorna todos os valores das linhas da tabela da direita e os valores correspondentes da tabela da esquerda, se não houver correspondência em ambas as tabelas, ele retornará NULL.
- Sintaxe:
- SELECT tabela1.coluna1, tabela1.coluna2, tabela2.coluna1,...
- FROM tabela1
- RIGHT JOIN tabela2
- ON tabela1.coluna_correspondente = tabela2.coluna_correspondente;
- Exemplo:
- SELECT EMPREGADO.NOME_EMP, PROJETO.DEPARTAMENTO
- FROM EMPREGADO
- RIGHT JOIN PROJETO
- ON PROJETO.ID_EMP = EMPREGADO.ID_EMP;
FULL JOIN
- FULL JOIN é o resultado de uma combinação de ambos os outer joins esquerdo e direito.
- As tabelas unidas têm todos os registros de ambas as tabelas com NULL no local das correspondências não encontradas.
- Sintaxe:
- SELECT tabela1.coluna1, tabela1.coluna2, tabela2.coluna1,...
- FROM tabela1
- FULL JOIN tabela2
- ON tabela1.coluna_correspondente = tabela2.coluna_correspondente;
- Exemplo:
- SELECT EMPREGADO.NOME_EMP, PROJETO.DEPARTAMENTO
- FROM EMPREGADO
- FULL JOIN PROJETO
- ON PROJETO.ID_EMP = EMPREGADO.ID_EMP;
Operação de Conjunto SQL
- A Operação de Conjunto SQL é usada para combinar duas ou mais instruções SQL SELECT.
- Tipos de Operação de Conjunto: Union, UnionAll, Intersect e Minus.
Operação Union
- SQL Union é usada para combinar o resultado de duas ou mais consultas SQL SELECT.
- Na operação Union, todos os números de tipo de dados e colunas devem ser iguais em ambas as tabelas nas quais a operação UNION está sendo aplicada.
- A operação union elimina as linhas duplicadas de seu conjunto de resultados.
- Sintaxe:
- SELECT nome_coluna FROM tabela1
- UNION
- SELECT nome_coluna FROM tabela2;
- Exemplo:
- SELECT * FROM Primeiro
- UNION
- SELECT * FROM Segundo;
Operação Intersect
- É usado para combinar duas instruções SELECT.
- A operação Intersect retorna as linhas comuns de ambas as instruções SELECT.
- Na operação Intersect, o número de tipo de dados e colunas deve ser o mesmo.
- Não tem duplicatas e organiza os dados em ordem crescente por padrão.
- Sintaxe:
- SELECT nome_coluna FROM tabela1
- INTERSECT
- SELECT nome_coluna FROM tabela2;
- Exemplo:
- SELECT * FROM Primeiro
- INTERSECT
- SELECT * FROM Segundo;
Operação Minus
- Combina o resultado de duas instruções SELECT.
- O operador Minus é usado para exibir as linhas que estão presentes na primeira query, mas ausentes na segunda query.
- Não tem duplicatas e os dados são organizados em ordem crescente por padrão.
- Sintaxe:
- SELECT nome_coluna FROM tabela1
- MINUS
- SELECT nome_coluna FROM tabela2;
- Exemplo:
- SELECT * FROM Primeiro
- MINUS
- SELECT * FROM Segundo;
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.