Linguagem SQL: o que é, principais comandos, exemplos 

Linguagem SQL: aprenda SELECT, INSERT, UPDATE, DELETE, JOIN, GROUP BY e transações para concursos de TI.

Por
Publicado em
14 min. de leitura

Fala, meus consagrados! Beleza?

A linguagem SQL faz parte do estudo de bancos de dados e do trabalho de quem desenvolve sistemas, administra informações ou produz relatórios. Consultar os produtos de uma loja, registrar uma matrícula e reunir dados para um painel são exemplos de atividades que podem envolver SQL.

Para quem se prepara para concursos de TI, entender a linguagem exige mais do que memorizar comandos. É necessário acompanhar como uma consulta transforma os dados: quais linhas entram no resultado, como as tabelas se relacionam e o que acontece quando os registros são agrupados.

Neste artigo, vamos construir essa compreensão com exemplos comentados. O objetivo é conhecer os principais recursos da SQL e desenvolver uma forma de leitura que ajude tanto na prática quanto na resolução de questões.

O que é a linguagem SQL?

SQL significa Structured Query Language, expressão traduzida como Linguagem de Consulta Estruturada. Ela permite definir estruturas, consultar dados, modificar registros e realizar outras operações em sistemas de gerenciamento de bancos de dados relacionais. Apesar da palavra “consulta” no nome, sua finalidade vai além de buscar informações. [1, 2]

A SQL é predominantemente declarativa: uma consulta descreve o resultado desejado. Ao solicitar os produtos com preço superior a determinado valor, por exemplo, o usuário informa a condição de seleção. O sistema gerenciador decide como executar essa busca, considerando seus mecanismos de processamento e otimização. [1]

Essa característica ajuda a separar duas perguntas: “quais dados eu quero?” e “como o sistema encontrará esses dados?”. Na escrita de consultas, concentramos a atenção na primeira. Questões de desempenho também importam, mas devem ser analisadas sem perder de vista a correção do resultado.

SQL, MySQL, PostgreSQL e Oracle: qual é a diferença?

SQL é uma linguagem; MySQL, PostgreSQL e Oracle Database são sistemas gerenciadores de bancos de dados que a utilizam. O gerenciador é o software responsável por armazenar os dados e executar operações sobre eles. [4, 23]

Os produtos possuem diferenças de sintaxe e funcionalidades. Tipos de dados, funções de datas, geração automática de identificadores e comandos administrativos podem variar. Por isso, uma consulta simples costuma ser fácil de adaptar, enquanto recursos específicos exigem consultar a documentação do gerenciador indicado. [2, 3]

Em provas, observe se o enunciado identifica um produto e uma versão. Essa informação pode definir a sintaxe considerada correta. Neste artigo, os exemplos usam recursos comuns da SQL; o bloco de transação segue a sintaxe do PostgreSQL.

Para que serve a SQL e onde ela é usada?

Em um sistema de vendas, a SQL pode cadastrar produtos, consultar preços e atualizar registros. Em um sistema acadêmico, pode recuperar estudantes e suas matrículas. Em relatórios administrativos, permite reunir informações armazenadas em tabelas distintas e apresentar totais por categoria. [4]

Na prática, uma mesma aplicação costuma executar operações variadas. A tela de cadastro insere dados; a tela de pesquisa realiza consultas; uma alteração de preço modifica um registro. A linguagem oferece recursos para expressar essas operações, enquanto as regras do sistema determinam quando elas devem ocorrer.

Na análise de dados, as consultas ajudam a responder perguntas objetivas: quantos produtos existem, qual é o maior preço e quais categorias concentram mais itens? Perceba que a pergunta de negócio vem antes do comando. Quando a pergunta está clara, torna-se mais fácil escolher filtros, relacionamentos e agrupamentos adequados.

Principais comandos do SQL

A tabela reúne os comandos básicos e a função de cada um. Observe a diferença entre modificar registros e modificar a estrutura que os armazena. [4, 23]

ComandoFinalidadeExemplo de uso
SELECTConsultar dadosListar nomes e preços
INSERTInserir registrosCadastrar um novo produto
UPDATEAtualizar registrosAlterar o preço de um produto
DELETEExcluir registrosRemover um produto do cadastro
CREATECriar objetosCriar uma tabela de produtos
ALTERAlterar estruturasAdicionar uma coluna à tabela
DROPRemover objetosRemover uma tabela

DDL, DML, DQL, DCL e comandos de transação

Uma organização didática frequente divide os comandos por finalidade. DDL, de Data Definition Language, reúne comandos de definição de estruturas, como CREATE, ALTER e DROP. DML, de Data Manipulation Language, contempla a manipulação dos dados, com exemplos como INSERT, UPDATE e DELETE. [23]

Alguns materiais separam as consultas em DQL, de Data Query Language, associando esse grupo ao SELECT. Outros incluem SELECT na DML. DCL, de Data Control Language, costuma reunir GRANT e REVOKE, relacionados a permissões. TCL, de Transaction Control Language, é uma classificação didática para comandos como COMMIT e ROLLBACK. [2, 10, 21, 22]

Essas classificações não são uniformes entre materiais e fabricantes. A documentação da Oracle, por exemplo, inclui SELECT na DML e trata GRANT e REVOKE entre os comandos DDL. Em concursos, considere a convenção adotada pelo enunciado e pela referência indicada. [2]

O mais importante é compreender o efeito do comando. UPDATE modifica valores nas linhas; ALTER TABLE modifica a definição da tabela. Essa distinção permite resolver questões mesmo quando a classificação terminológica apresenta variações.

Exemplo de banco de dados SQL: um catálogo de produtos

Vamos utilizar duas tabelas: categorias e produtos. Cada categoria possui um identificador e um nome. Cada produto possui identificador, nome, preço e uma referência à categoria à qual pertence.

Esse cenário permite estudar consultas simples, junções e agrupamentos sem mudar de contexto a cada exemplo. Antes de executar qualquer consulta, identifique as colunas disponíveis e as regras de relacionamento. Essa leitura inicial evita interpretar um nome de coluna como se ele representasse outra informação.

CREATE TABLE: criando as estruturas

CREATE TABLE categorias (
    id INTEGER PRIMARY KEY,
    nome VARCHAR(50) NOT NULL
);

CREATE TABLE produtos (
    id INTEGER PRIMARY KEY,
    nome VARCHAR(100) NOT NULL,
    preco DECIMAL(10, 2) NOT NULL CHECK (preco >= 0),
    categoria_id INTEGER REFERENCES categorias(id)
);

CREATE TABLE define uma nova tabela. INTEGER representa um tipo inteiro; VARCHAR armazena textos de tamanho variável, com o limite especificado. DECIMAL(10, 2) permite representar valores decimais com precisão total de dez dígitos e duas casas decimais. [3]

As restrições ajudam a manter dados coerentes. PRIMARY KEY identifica cada linha de forma única e impede valores nulos na chave. NOT NULL exige um valor na coluna. CHECK estabelece uma condição, que neste exemplo impede preços negativos. A chave estrangeira em categoria_id exige que um identificador de categoria informado exista na tabela referenciada. [13]

Observe que categoria_id aceita NULL, pois não recebeu NOT NULL. Assim, podemos cadastrar um produto sem categoria. Essa possibilidade será útil para entender as diferenças entre junções internas e externas.

INSERT: incluindo os dados

INSERT INTO categorias (id, nome) VALUES
    (1, ‘Informática’),
    (2, ‘Papelaria’),
    (3, ‘Livros’);

INSERT INTO produtos (id, nome, preco, categoria_id) VALUES
    (1, ‘Notebook’, 3500.00, 1),
    (2, ‘Monitor’, 900.00, 1),
    (3, ‘Mouse’, 80.00, 1),
    (4, ‘Caderno’, 25.00, 2),
    (5, ‘Caneta’, 5.00, 2),
    (6, ‘Mochila’, 120.00, NULL);

O INSERT acrescenta registros. A lista de colunas deixa explícito o destino de cada valor; em cada linha, a posição dos valores deve corresponder à posição das colunas informadas. Textos aparecem entre aspas simples e os valores numéricos utilizam ponto como separador decimal no código. [14]

Nosso catálogo contém seis produtos. Três pertencem à categoria Informática, dois à Papelaria e um está sem categoria. A categoria Livros existe, mas ainda não possui produtos. Guarde essas informações: elas explicam os resultados das próximas consultas.

Como utilizar o SELECT em SQL?

O SELECT permite escolher quais informações serão apresentadas. A cláusula FROM indica a origem dos dados. Para listar os produtos, podemos escrever: [5]

SELECT nome, preco
FROM produtos;

O resultado contém duas colunas e seis linhas. A consulta não solicita o identificador nem a categoria. Se usássemos SELECT *, obteríamos todas as colunas da tabela. Para estudar uma questão, confira sempre quais colunas o enunciado pede e quais aparecem efetivamente na projeção.

WHERE e ORDER BY: filtrando e ordenando

SELECT nome, preco
FROM produtos
WHERE preco >= 900
ORDER BY preco DESC;

A condição mantém os produtos com preço maior ou igual a 900. O resultado apresenta Notebook, com 3.500, e Monitor, com 900. ORDER BY preco DESC solicita a ordem decrescente de preço; ASC representa a ordem crescente. Sem ORDER BY, a ordem das linhas não é garantida. [5, 12]

Para combinar condições, podemos usar AND e OR. A consulta abaixo seleciona produtos da categoria 1 que custam menos de 1.000:

SELECT nome, preco
FROM produtos
WHERE categoria_id = 1 AND preco < 1000
ORDER BY preco;

O resultado é Mouse, com 80, seguido de Monitor, com 900. Quando houver combinações de AND e OR, use parênteses para deixar a intenção explícita e, em questões, verifique cuidadosamente como as condições foram agrupadas.

IN, BETWEEN e LIKE

IN permite testar se um valor pertence a uma lista. BETWEEN verifica um intervalo incluindo os dois limites. LIKE realiza comparação por padrão textual: % representa uma sequência de zero ou mais caracteres e _ representa um único caractere. [11, 15, 19]

SELECT nome
FROM produtos
WHERE nome LIKE ‘M%’
ORDER BY nome;

No catálogo do exemplo, a consulta encontra Mochila, Monitor e Mouse. O padrão procura nomes que começam com “M”. Uma pergunta semelhante poderia utilizar preco BETWEEN 80 AND 120, selecionando Mouse e Mochila, ou categoria_id IN (1, 2), selecionando os cinco produtos com essas categorias.

DISTINCT: retirando duplicidades do resultado

SELECT DISTINCT categoria_id
FROM produtos;

O DISTINCT elimina linhas repetidas do resultado da consulta. Neste caso, aparecem os valores 1, 2 e NULL, sem repetição. Ele não modifica os dados armazenados. Quando o SELECT contém várias colunas, a eliminação de duplicidades considera a combinação dos valores selecionados. [12]

Como tratar NULL em SQL?

NULL representa a ausência de um valor conhecido ou informado. Ele não equivale automaticamente a zero, texto vazio ou ao texto ‘NULL’. Para buscar produtos sem categoria, use o teste específico: [11]

SELECT nome
FROM produtos
WHERE categoria_id IS NULL;

O resultado é Mochila. Para procurar produtos com categoria informada, use IS NOT NULL. A expressão categoria_id = NULL não realiza o mesmo teste: comparações comuns com NULL produzem resultado desconhecido, e o WHERE mantém as linhas cuja condição é verdadeira. [11]

Esse comportamento exige atenção ao interpretar questões. Se uma linha possui um valor nulo na coluna comparada, ela pode deixar de atender a uma condição sem que isso signifique que o valor seja zero. Antes de calcular o resultado, marque quais colunas do conjunto de dados contêm NULL.

JOIN: consultando dados de tabelas relacionadas

Uma junção combina informações de tabelas segundo uma condição. Em nosso catálogo, os produtos guardam o identificador da categoria; o nome da categoria está em outra tabela. Para reunir essas informações, usamos um JOIN. [6]

INNER JOIN

SELECT p.nome AS produto, c.nome AS categoria
FROM produtos AS p
INNER JOIN categorias AS c ON p.categoria_id = c.id
ORDER BY p.id;

p e c são apelidos das tabelas, chamados aliases. Eles ajudam a qualificar as colunas, especialmente quando duas tabelas possuem nomes de coluna iguais. AS produto e AS categoria definem os rótulos das colunas do resultado. [6]

A junção interna apresenta os cinco produtos que possuem correspondência em categorias. Mochila não aparece porque seu categoria_id é nulo. Livros também não aparece, pois não há produto associado a essa categoria. Leia a condição ON como a regra que determina quais linhas podem ser combinadas.

LEFT JOIN e outras junções

SELECT p.nome AS produto, c.nome AS categoria
FROM produtos AS p
LEFT JOIN categorias AS c ON p.categoria_id = c.id
ORDER BY p.id;

O LEFT JOIN preserva todas as linhas da tabela à esquerda. Aqui, o resultado contém os seis produtos. Para Mochila, a coluna com o nome da categoria recebe NULL, porque nenhuma correspondência foi encontrada. [6]

O RIGHT JOIN preserva as linhas da tabela à direita, enquanto o FULL OUTER JOIN preserva as linhas dos dois lados, incluindo as que não encontram correspondência. O CROSS JOIN produz combinações de todas as linhas de uma tabela com todas as linhas da outra. O suporte a determinados tipos de junção varia entre gerenciadores. [16]

Para resolver uma questão, não suponha que o resultado terá o mesmo número de linhas da tabela principal. Se uma linha encontrar várias correspondências, ela participará de várias combinações. Em nosso exemplo, uma categoria se relaciona com diversos produtos, por isso o nome Informática aparece três vezes na junção.

Também observe filtros aplicados após um LEFT JOIN. Uma condição como WHERE c.nome = ‘Informática’ elimina as linhas sem categoria, pois o valor nulo não satisfaz a comparação. Preservar linhas na junção não impede que um filtro posterior as retire. [16]

Funções agregadas, GROUP BY e HAVING

Funções agregadas calculam um resultado a partir de várias linhas. COUNT conta, SUM soma, AVG calcula a média, MIN encontra o menor valor e MAX encontra o maior. Elas permitem transformar um conjunto de registros em informações resumidas. [8]

SELECT COUNT(*) AS quantidade,
      SUM(preco) AS total_precos,
      MIN(preco) AS menor_preco,
      MAX(preco) AS maior_preco
FROM produtos;

O resultado é uma linha: quantidade 6, total de preços 4.630, menor preço 5 e maior preço 3.500. O total representa a soma dos preços cadastrados, não uma receita de vendas; para calcular receita, seriam necessários dados de vendas e quantidades.

COUNT(*) conta linhas; COUNT(coluna) conta os valores não nulos daquela coluna. Em nosso catálogo, COUNT(*) retorna 6 e COUNT(categoria_id) retorna 5. Funções como SUM e AVG também desconsideram entradas nulas nos cálculos. Essa diferença pode alterar o resultado de uma questão. [8]

Agrupando os dados por categoria

SELECT categoria_id, COUNT(*) AS quantidade,
      SUM(preco) AS total_precos
FROM produtos
GROUP BY categoria_id;

O GROUP BY reúne linhas que compartilham os valores das colunas de agrupamento. O resultado possui um grupo para a categoria 1, com três produtos e total 4.480; outro para a categoria 2, com dois produtos e total 30; e um grupo com categoria nula, com um produto e total 120. [7]

Ao selecionar uma coluna junto de funções agregadas, verifique se ela faz parte do agrupamento ou se é admitida pelas regras específicas do gerenciador, como reconhecimento de dependências funcionais. Para os exemplos introdutórios, a forma mais clara é agrupar explicitamente pelas colunas não agregadas selecionadas. [16]

Qual é a diferença entre WHERE e HAVING?

WHERE filtra linhas antes do agrupamento; HAVING filtra os grupos formados. Essa distinção explica por que uma condição sobre COUNT(*) normalmente aparece em HAVING. [7]

SELECT categoria_id, COUNT(*) AS quantidade
FROM produtos
WHERE preco >= 80
GROUP BY categoria_id
HAVING COUNT(*) >= 2;

Primeiro, o filtro de preço mantém Notebook, Monitor, Mouse e Mochila. Depois, o agrupamento forma um grupo para a categoria 1, com três linhas, e outro para a categoria nula, com uma linha. Por fim, HAVING mantém somente o grupo com pelo menos dois produtos: categoria 1, quantidade 3.

Essa sequência é uma boa técnica de resolução: filtre as linhas em uma tabela de rascunho, forme os grupos e só então aplique a condição sobre os totais. Tentar calcular todas as etapas mentalmente aumenta a chance de confundir uma condição individual com uma condição coletiva.

Outros pontos importantes

Subconsultas: uma consulta dentro de outra

Uma subconsulta pode fornecer um valor ou um conjunto de resultados para outra consulta. Considere a pergunta: quais produtos custam mais do que a média dos preços cadastrados? [9]

SELECT nome, preco
FROM produtos
WHERE preco > (SELECT AVG(preco) FROM produtos)
ORDER BY preco DESC;

A consulta interna calcula a média, aproximadamente 771,67. A consulta externa compara cada preço com esse valor e apresenta Notebook e Monitor. Nesse exemplo, a subconsulta funciona como uma expressão que retorna um único valor. Não seria correto substituí-la por uma consulta que retornasse várias linhas nesse mesmo contexto. [9]

Outro recurso é EXISTS, que verifica se uma subconsulta retorna alguma linha. Para encontrar categorias com pelo menos um produto, podemos escrever:

SELECT c.nome
FROM categorias AS c
WHERE EXISTS (
    SELECT 1
    FROM produtos AS p
    WHERE p.categoria_id = c.id
)
ORDER BY c.nome;

O resultado contém Informática e Papelaria. A subconsulta é correlacionada porque faz referência a c.id, pertencente à consulta externa. EXISTS verifica a existência de linhas; o número 1 no SELECT interno não significa que o comando conte os produtos. [15]

UPDATE, DELETE, ALTER e DROP: diferenças essenciais

O UPDATE modifica valores de registros existentes. Para alterar apenas o preço do produto de identificador 2, escrevemos: [17]

UPDATE produtos
SET preco = 850.00
WHERE id = 2;

O Monitor passa de 900 para 850. O WHERE define quais linhas serão alteradas; sem esse filtro, todas as linhas da tabela seriam atingidas pela atualização. Como prática de estudo, execute primeiro um SELECT com a mesma condição para conferir o conjunto selecionado. [17]

O DELETE exclui linhas. O exemplo seguinte remove o cadastro de Mochila: [18]

DELETE FROM produtos
WHERE id = 6;

A tabela permanece existente. Já ALTER TABLE modifica sua estrutura, por exemplo, acrescentando uma coluna: [20]

ALTER TABLE produtos ADD COLUMN descricao VARCHAR(200);

Por sua vez, DROP TABLE produtos remove a própria tabela. Portanto, “excluir um produto” e “excluir a tabela de produtos” são operações diferentes. Em questões, destaque o objeto sobre o qual o comando atua: dados ou estrutura. [2]

Os exemplos desta seção são operações independentes. Os resultados das consultas anteriores consideram o catálogo original com seis produtos. Se você executar as alterações e repetir aquelas consultas, deverá recalcular os resultados com os novos dados.

GRANT e REVOKE: controle de permissões

O comando GRANT concede privilégios. No PostgreSQL, supondo que a função leitor já exista, podemos permitir consultas à tabela de produtos: [21]

GRANT SELECT ON produtos TO leitor;

REVOKE SELECT ON produtos FROM leitor revoga uma concessão desse privilégio. As permissões efetivas também podem depender de associações a outras funções e de concessões por outros caminhos; revogar uma concessão específica não significa necessariamente retirar toda possibilidade de acesso. [22]

Para uma introdução, guarde a finalidade: permissões determinam quais operações um usuário ou uma função pode realizar. A existência de uma tabela, por si só, não explica quem está autorizado a consultá-la ou modificá-la.

Transações: COMMIT, ROLLBACK e SAVEPOINT

Uma transação agrupa operações em uma unidade de trabalho. Imagine uma transferência que reduz o saldo de uma conta e aumenta o saldo de outra. As duas alterações precisam ser tratadas em conjunto para representar corretamente a operação. [10]

No exemplo abaixo, considere uma tabela contas já existente, com as contas 1 e 2. A sintaxe de início da transação é a do PostgreSQL:

BEGIN;

UPDATE contas SET saldo = saldo – 100 WHERE id = 1;
UPDATE contas SET saldo = saldo + 100 WHERE id = 2;

COMMIT;

COMMIT confirma as alterações da transação. Se a operação precisar ser desfeita antes da confirmação, utiliza-se ROLLBACK. SAVEPOINT permite estabelecer um ponto intermediário para um possível retorno parcial. O comportamento automático de transações e o efeito de comandos DDL dependem do gerenciador e das configurações utilizadas. [10]

Esse código ilustra o agrupamento das duas atualizações. Uma transferência real ainda exige verificar condições como existência das contas, saldo disponível e regras para acessos simultâneos. Para estudar, diferencie o papel dos comandos de transação das regras necessárias ao funcionamento completo da aplicação.

Como ler uma consulta e evitar erros comuns?

A ordem em que as cláusulas aparecem no texto não é a mesma usada para explicar logicamente a consulta. Uma sequência útil é considerar a origem e as junções, aplicar WHERE, formar grupos, aplicar HAVING, selecionar as expressões e ordenar o resultado. Essa é uma descrição lógica; o plano físico de execução pode ser diferente. [12]

Na resolução de questões, anote primeiro o conjunto inicial. Depois, registre o efeito de cada etapa. Essa prática ajuda a perceber, por exemplo, que um filtro anterior ao agrupamento muda o valor contado, enquanto um filtro posterior decide quais grupos serão apresentados.

Confira alguns erros que merecem atenção:

SituaçãoProblemaForma de analisar
Comparar com = NULLA comparação comum não testa ausência de valorUse IS NULL ou IS NOT NULL
Trocar WHERE por HAVINGO filtro é aplicado a conjuntos diferentesSepare linhas de grupos
Omitir a condição de junçãoO resultado pode gerar combinações indevidasConfira as colunas relacionadas
Esperar ordem sem ORDER BYA ordem não foi solicitadaLocalize a cláusula de ordenação
Confundir formas de COUNTValores nulos alteram a contagem por colunaIdentifique as entradas nulas

Uma consulta pode executar sem erro de sintaxe e, ainda assim, responder à pergunta errada. Por isso, conferir apenas se o comando é aceito pelo gerenciador não basta. Compare o resultado com a necessidade descrita e verifique se cada linha deveria realmente aparecer.

Como estudar linguagem SQL para concursos públicos?

Comece pelos comandos básicos e pela diferença entre consultar, modificar registros e alterar estruturas. Em seguida, avance para filtros, junções, agregações, subconsultas e transações. Essa organização cria uma base que permite interpretar consultas progressivamente mais complexas.

Monte tabelas pequenas, com poucas linhas, e calcule os resultados antes de executar os comandos. Inclua casos que revelam diferenças de comportamento: uma categoria sem produtos, um produto sem categoria e valores repetidos. Nosso catálogo foi organizado dessa forma justamente para permitir essas comparações.

Depois, resolva questões conforme os conteúdos do edital. Ao errar, identifique a causa concreta: classificação adotada, condição de filtro, presença de NULL, multiplicidade de uma junção ou etapa do agrupamento. Corrigir a regra responsável pelo erro é mais útil do que apenas memorizar o gabarito.

Use também a documentação do gerenciador indicado na prova. Uma função válida em PostgreSQL pode ter outro nome ou outra sintaxe em Oracle Database ou MySQL. Para a preparação em concursos de TI, combine compreensão dos conceitos com atenção ao produto especificado.

O avanço aparece quando você consegue explicar o resultado de uma consulta linha por linha. Pratique essa explicação em voz alta ou por escrito: de onde vêm os dados, quais condições são aplicadas e por que determinado registro aparece ou desaparece. Essa habilidade conecta o estudo teórico ao desenvolvimento de sistemas.

Referências técnicas

[1] IBM – Structured Query Language: https://www.ibm.com/think/topics/structured-query-language

[2] Oracle – Types of SQL Statements: https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Types-of-SQL-Statements.html

[3] PostgreSQL – Creating a New Table: https://www.postgresql.org/docs/current/tutorial-table.html

[4] PostgreSQL – The SQL Language: https://www.postgresql.org/docs/current/tutorial-sql.html

[5] PostgreSQL – Querying a Table: https://www.postgresql.org/docs/current/tutorial-select.html

[6] PostgreSQL – Joins Between Tables: https://www.postgresql.org/docs/current/tutorial-join.html

[7] PostgreSQL – Aggregate Functions: tutorial: https://www.postgresql.org/docs/current/tutorial-agg.html

[8] PostgreSQL – Aggregate Functions: reference: https://www.postgresql.org/docs/current/functions-aggregate.html

[9] PostgreSQL – Value Expressions: https://www.postgresql.org/docs/current/sql-expressions.html

[10] PostgreSQL – Transactions: https://www.postgresql.org/docs/current/tutorial-transactions.html

[11] PostgreSQL – Comparison Functions and Operators: https://www.postgresql.org/docs/current/functions-comparison.html

[12] PostgreSQL – SELECT: https://www.postgresql.org/docs/current/sql-select.html

[13] PostgreSQL – Constraints: https://www.postgresql.org/docs/current/ddl-constraints.html

[14] PostgreSQL – Populating a Table With Rows: https://www.postgresql.org/docs/current/tutorial-populate.html

[15] PostgreSQL – Subquery Expressions: https://www.postgresql.org/docs/current/functions-subquery.html

[16] PostgreSQL – Table Expressions: https://www.postgresql.org/docs/current/queries-table-expressions.html

[17] PostgreSQL – Updates: https://www.postgresql.org/docs/current/tutorial-update.html

[18] PostgreSQL – Deletions: https://www.postgresql.org/docs/current/tutorial-delete.html

[19] PostgreSQL – Pattern Matching: https://www.postgresql.org/docs/current/functions-matching.html

[20] PostgreSQL – Modifying Tables: https://www.postgresql.org/docs/current/ddl-alter.html

[21] PostgreSQL – GRANT: https://www.postgresql.org/docs/current/sql-grant.html

[22] PostgreSQL – REVOKE: https://www.postgresql.org/docs/current/sql-revoke.html

[23] MySQL – SQL Statements: https://dev.mysql.com/doc/refman/8.4/en/sql-statements.html

FAQ sobre linguagem SQL

O que é a linguagem SQL?

SQL é a Linguagem de Consulta Estruturada, utilizada para definir estruturas, consultar e modificar dados em bancos de dados relacionais. Ela também oferece comandos relacionados a permissões e transações. Sua abordagem é predominantemente declarativa: descrevemos o resultado desejado. [1, 2]

Para que serve a linguagem SQL?

Serve para criar tabelas, inserir registros, consultar informações, atualizar valores, excluir dados e realizar outras operações no banco. É utilizada em aplicações, rotinas administrativas e análises que dependem de dados armazenados. [4]

Quais são os principais comandos da linguagem SQL?

Os comandos básicos incluem SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER e DROP. Também é importante conhecer GRANT e REVOKE, para permissões, e COMMIT, ROLLBACK e SAVEPOINT, para controle de transações. [2, 10]

Qual é a diferença entre SQL, MySQL, PostgreSQL e Oracle?

SQL é a linguagem. MySQL, PostgreSQL e Oracle Database são sistemas gerenciadores que a utilizam. Cada produto possui particularidades de sintaxe, funções e recursos, por isso o gerenciador indicado deve orientar o estudo de comandos específicos. [1, 2]

Como utilizar o comando SELECT em SQL?

Informe as colunas desejadas após SELECT e a tabela após FROM. Acrescente WHERE para filtrar e ORDER BY para ordenar. Por exemplo: SELECT nome FROM produtos WHERE preco >= 900 ORDER BY nome;. Junções e agrupamentos podem ampliar a consulta conforme a necessidade. [5]

Como estudar linguagem SQL para concursos públicos?

Estude os conteúdos previstos no edital, pratique com tabelas pequenas e interprete o resultado de cada consulta antes de executá-la. Revise filtros, NULL, junções, agregações, subconsultas e transações. Ao resolver questões, observe a classificação adotada e o gerenciador especificado.

Espero que tenham gostado! 

Forte abraço e até a próxima jornada!

_________________________

Professor Rogerão Araújo

Por
Publicado em
14 min. de leitura

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *