Quer ter acesso a todos os cursos desse Guia?

Guia Completo de SQL

Neste Guia Completo de SQL você encontrará todo o conteúdo que precisa para aprender sobre a SQL, linguagem de consulta estruturada utilizada por programadores e DBAs para a execução de consultas e comandos nos principais SGBDs do mercado.

Introdução

A linguagem SQL é o recurso mais conhecido por DBAs e programadores para a execução de comandos em bancos de dados relacionais. É por meio dela que criamos tabelas, colunas, índices, atribuímos permissões a usuários, bem como realizamos consultas a dados. Enfim, é utilizando a SQL que “conversamos” com o banco de dados.

Essa breve descrição já deixa clara a importância da compreensão e domínio sobre tal recurso. Saiba, também, que ela facilita não apenas a execução de tarefas em SGBDs, mas também o diálogo entre profissionais de banco de dados e programadores.

Com base nisso, aprender sobre SQL, a Structured Query Language, passa a ser fundamental para qualquer um que deseja atuar nessas áreas.

Primeiros passos

Após conhecer a SQL é natural nos interessarmos por vê-la na prática, executar os primeiros comandos, as primeiras consultas (queries), mesmo em um banco de dados de exemplo fornecido pelo Sistema Gerenciador de Banco de dados. Mas, por onde começar exatamente? Onde executar esses comandos?

Para responder a essas questões, configurar o ambiente, criar a primeira tabela, inserir dados, assim como executar algumas consultas, preparamos o curso:

Além desse curso, também indicamos os posts a seguir, que apresentam, de forma objetiva, os principais recursos dessa linguagem:

Organização da SQL

No curso acima você deve ter notado que a linguagem SQL é organizada em subconjuntos, cada um com propósitos bem definidos (Figura 1):

  • DQL - Linguagem de Consulta de Dados - Define o comando utilizado para que possamos consultar (SELECT) os dados armazenados no banco;
  • DML - Linguagem de Manipulação de Dados - Define os comandos utilizados para manipulação de dados no banco (INSERT, UPDATE e DELETE);
  • DDL - Linguagem de Definição de Dados - Define os comandos utilizados para criação (CREATE) de tabelas, views, índices, atualização dessas estruturas (ALTER), assim como a remoção (DROP);
  • DCL - Linguagem de Controle de Dados - Define os comandos utilizados para controlar o acesso aos dados do banco, adicionando (GRANT) e removendo (REVOKE) permissões de acesso;
  • DTL - Linguagem de Transação de Dados - Define os comandos utilizados para gerenciar as transações executadas no banco de dados, como iniciar (BEGIN) uma transação, confirmá-la (COMMIT) ou desfazê-la (ROLLBACK).
Subdivisões da linguagem SQL
Figura 1.Subdivisões da linguagem SQL

Para entendermos melhor, no artigo a seguir vemos uma introdução a linguagem e alguns exemplos dessa subdivisão. Além disso, a partir deste ponto, tomaremos essa subdivisão da SQL para organizar o guia.

SQL DQL - Data Query Language

Como você já pode notar e verificará ao longo da sua carreira, uma das tarefas mais corriqueiras em bancos de dados é a execução de queries. Portanto, saber criá-las da melhor maneira é muito importante para o desempenho do banco e de aplicações que dele dependam.

Neste momento, de primeiros passos, você não precisa se preocupar tanto com isso, mas recomendamos que pense sobre esse assunto a cada novo recurso relacionado a consultas que estudar.

O curso abaixo lhe ensinará a criar consultas em SQL, a utilizar o comando SELECT. Conheceremos, assim, alguns dos principais recursos, por exemplo: ordenação de registros, funções de agregação, junções, entre outros.

Além desse curso, preparamos mais alguns posts com o intuito de explorar todos os recursos relacionados a consultas em SQL:

Para elaborar queries mais específicas, filtrando os dados retornados, assim como fazer cálculos ou verificações de maior ou menor valor, por exemplo, a SQL também nos fornece boas opções.

Além das ferramentas mencionados até aqui, temos ainda outras muito importantes e que influenciam diretamente no tempo da consulta. Portanto, saber utilizá-las é de grande valor para um bom profissional.

JOIN

Subqueries

Uma subconsulta (mais conhecida como SUBQUERY ou SUBSELECT) é uma instrução do tipo SELECT dentro de outra instrução SQL. Por serem muito utilizadas em substituição ao JOIN, quando este não atende, seu domínio pelo programador é fundamental. Aprenda!

UNION

SQL DML - Data Manipulation Language

Para a manipulação de dados no banco, temos como comandos da linguagem SQL o INSERT, UPDATE e DELETE, os quais inserem, atualizam e removem dados, respectivamente. Vejamos, nos posts a seguir, como utilizá-los:

SQL DDL - Data Definition Language

Uma tarefa indispensável, porém realizada com menos frequência, é criar o banco de dados. Em seguida, é natural a criação das tabelas a ele relacionadas. Para isso, lidamos com os comandos CREATE DATABASE e CREATE TABLE da SQL, os quais serão presentados nos posts a seguir, organizados de acordo com o SGBD:

SQL Server

Oracle

MySQL

PostgreSQL

Ao criar a primeira tabela, logo estaremos em contato com o conceito de chave primária. Esse é um campo obrigatório e representa o identificador único de cada registro presente em uma tabela. E quando temos mais de uma tabela e precisamos estabelecer um relacionamento entre elas, vamos nos deparar com o conceito de chave estrangeira.

Para aprender sobre as chaves primária e estrangeira, acesse:

Índices

Um índice é um recurso muito importante quando o assunto é banco de dados. De forma simples, podemos descrevê-lo como uma estrutura que visa reduzir o tempo gasto com consultas ao banco, facilitando a busca pelos registros desejados.

Para simplificar a compreensão do que é um índice, façamos um paralelo. Considere dois livros: um com um índice e outro sem. Em qual deles você terá mais facilidade e gastará menos tempo para encontrar o assunto que deseja. Do mesmo modo, isso acontece com as tabelas de um banco de dados.

Para aprender sobre índices, como criá-los com a linguagem SQL (DDL), entre outros assuntos relacionados, acesse os posts abaixo:

Com o intuito de atender a diferentes cenários, existem diferentes tipos de índices. Um dos mais recentes e que tem sido bastante utilizado para aprimorar buscas textuais são os índices Full Text. Conheça alguns dos tipos de índices nos posts a seguir:

Saiba, também, que os índices devem ser utilizados com moderação. Em excesso, provavelmente mais prejudicarão do que ajudarão no desempenho como um todo. Voltando à analogia feita com o livro. Imagine se uma editora optasse por entregar esse livro com dois ou três tipos diferentes de índices. Quão trabalhoso seria para ela, a editora, manter esses índices atualizados a cada mudança no livro. Agora, imagine esse cenário em um banco de dados que é atualizado diariamente...

No post abaixo, aprenda sobre algumas boas práticas para trabalhar com índices:

Para encerrar esta seção, observe o índice localizado à direita nesta página. Quanto tempo você levaria para encontrar os conteúdos sobre Data Query Language sem esse recurso? Índices são fundamentais para um bom desempenho em qualquer cenário que envolva uma grande quantidade de dados. Portanto, saber como trabalhar com eles é, também, fundamental, para o sucesso da sua carreira como DBA.

Views

Uma view é definida por muitos como uma "tabela virtual" que agrupa os dados desejados selecionados a partir de alguma consulta.

Normalmente criamos views para facilitar a manipulação dos dados, pois com elas podemos inserir em uma "tabela", isto é, em uma visão, os dados que são necessários para algum tipo de processamento, reduzindo a complexidade na construção de consultas e, ao mesmo tempo, protegendo dados.

Para se aprofundar neste assunto, acesse os posts abaixo:

SQL Server

Oracle

MySQL

PostgreSQL

SQL Procedural

A manipulação de dados armazenados em um banco de dados vai muito além das operações básicas de inserção, consulta e remoção. A administração do banco, por sua vez, também não se limita a criar tabelas e seus relacionamentos, bem como a execução de backups e tarefas relacionadas.

Ao avançar os estudos na área de banco de dados logo verificamos que o conjunto de comandos disponibilizado pela Structured Query Language, ou SQL, tem uma proposta muito bem delineada, mas não atende a todas as necessidades relacionadas a esse contexto, ao artefato que torna organizado e acessível um dos principais ativos de qualquer corporação, seus dados.

Diante disso, é comum que os principais players de banco de dados, a exemplo da Microsoft e da Oracle, oferecem extensões à tão respeitada linguagem de consulta. A Microsoft, com a T-SQL, e a Oracle, com a PL/SQL, fornecem, aos profissionais de banco de dados, um rico conjunto de recursos que possibilitam a criação dos mais específicos procedimentos para atender às demandas de qualquer tipo de aplicação.

Com elas, torna-se possível não apenas a manipulação dos dados, mas também o processamento dos mesmos, declarando, para isso, variáveis, estruturas de condição, repetição, procedimentos, funções, entre outros recursos.

Para cobrir esse assunto, essas extensões, categorizadas como Linguagens Procedurais, preparamos os tópicos a seguir. Neles você encontrará todo o conteúdo de referência, já publicado na DevMedia, para aprender, principalmente, sobre Transact-SQL e Procedural Language/SQL.

Transact-SQL - T-SQL

A SQL é a linguagem padrão para lidarmos com bancos de dados. No entanto, alguns SGBDs optaram por criar variações dessa para prover novas funcionalidades ou aprimorar recursos oferecidos pela Structured Query Language. A T-SQL, por exemplo, foi criada pela Microsoft em conjunto com a Sybase.

Nesta seção reunimos alguns posts que apresentam recursos da linguagem T-SQL.

Recursos básicos

Subqueries

Tabelas temporárias

Boas práticas

PL/SQL

Além da T-SQL, outra opção bastante conhecida é a PL/SQL, ou Procedural Language/Structured Query Language. Criada pela Oracle, essa linguagem também oferece diferentes recursos para lidarmos com bancos de dados dessa empresa, assim como elaborar procedimentos que processarão dados para outras soluções Oracle. Abaixo, listamos um curso e alguns posts relacionados:

Assim como em qualquer linguagem, o tratamento de exceções também recebeu atenção especial da Oracle. Para aprender sobre o tratamento de exceções com a PL/SQL, acesse:

Stored Procedures

Um stored procedure, ou procedimento armazenado, é um recurso que permite a execução de lógica dentro do banco de dados, de forma semelhante a um método ou função no código de uma aplicação, mas escrito com a linguagem do banco de dados.

Assim, ao invés de deixar toda a lógica na aplicação cliente, podemos trazer parte dela para o servidor de banco de dados, o que, em muitos casos, pode trazer ganhos de performance, ao evitar que dados precisem ser enviados pela rede para serem processados.

A criação de stored procedures é definida pelo comando CREATE PROCEDURE e sua remoção, com o DROP PROCEDURE.

Para aprender sobre este assunto, acesse:

Para se aprofundar em stored procedure, confira as publicações a seguir, organizadas de acordo com o banco de dados:

SQL Server

Oracle

MySQL

PostgreSQL

Firebird

Triggers

Um trigger, ou gatilho, é um tipo de stored procedure que é chamado toda vez que um evento a ele relacionado acontece, por exemplo: a atualização de um dado no banco, a modificação da estrutura de uma tabela, entre outros.

Assim, é comum utilizar triggers quando o objetivo é manter a consistência de dados ou fazer alguma auditoria, por exemplo. O uso desse recurso é observado em códigos de definição (DDL) e manipulação (DML) de dados.

Para criar um trigger, iniciamos a declaração com o comando CREATE TRIGGER, e para remoção, DROP TRIGGER.

Uma introdução mais detalhada sobre este assunto pode ser obtida nos posts:

Nas publicações abaixo, organizadas de acordo com o banco de dados, exploramos situações mais específicas, que podem atender às demandas do seu dia a dia. Confira:

SQL Server

Oracle

Firebird

MySQL

PostgreSQL

Firebird

Desempenho e segurança

Ao gerenciar bancos de dados estamos tratando de um recurso de grande importância a qualquer instituição: seus dados. Devemos, portanto, prezar pela segurança e pelo desempenho de acesso aos mesmos.

Para tratar de desempenho, indicamos o post:

Com relação à segurança, entre tantos assuntos, destacamos aqui, principalmente, o SQL Injection. Aprenda o que é e como evitar acessando os links abaixo:

Documentação

Com o intuito de apoiar seu aprendizado sobre a linguagem SQL, elaboramos algumas documentações que você pode acessar para consulta rápida.

Na documentação a seguir temos um apanhado dos principais tópicos da DML e da DQL:

Nestes posts você aprenderá não apenas sobre a sintaxe dos comandos, mas também como utilizá-los da melhor maneira para obter o resultado desejado.

Conteúdo extra

A qualidade do código não é uma preocupação exclusiva a programadores. Ao criar qualquer comando a ser executado no banco de dados também devemos levar em consideração essa questão.

Lembre-se que esse código provavelmente passará por manutenção e essa tarefa pode ser atribuída a outras pessoas. Para lhe ajudar a escrever um código SQL mais fácil de ler e manter, recomendamos o post:

Por fim, saiba que essa linguagem também é aplicada em diferentes contextos, não ficando restrita ao acesso a dados persistidos em bancos relacionais. Isso nos mostra que seu aprendizado é útil e aplicável a outros cenários, como pesquisa semântica em documentos ou mesmo consultas a bases de dados não relacionais.

Mais sobre bancos de dados

Além dos cursos e exemplos sugeridos nesse guia, a DevMedia publica com frequência novos conteúdos sobre bancos de dados, os quais você pode conferir nos Guias de Consulta abaixo:

Você também pode conferir todo o conteúdo de banco de dados clicando aqui.

Promoção de Natal

DevMedia - Plataforma para Programadores

Oferta exclusiva de Natal!

<Perguntas frequentes>
Carreira
Por onde devo iniciar os estudos?

Recomendamos começar pelo Plano de Estudo Carreira Programador Front-End. Essa área da programação é mais visual e intuitiva, tornando-a ideal para iniciantes. No Front-End, você aprenderá a criar a parte visual dos sites, como layout, cores e interatividade. Depois de dominar o Front-End, você pode avançar para Programador Back-End, onde aprenderá a lidar com a lógica e o funcionamento interno dos sites, e, finalmente, para Programador Mobile, focando no desenvolvimento de aplicativos para smartphones. Nossa metodologia é estruturada de forma progressiva para garantir que você desenvolva confiança e experiência ao criar projetos reais, como sites estáticos e dinâmicos.

Em quanto tempo vou me tornar um programador?

O tempo necessário para se tornar um programador varia de acordo com a dedicação de cada estudante. Com nossa metodologia, que inclui um Plano de Estudo detalhado e suporte contínuo, você pode se tornar um programador de 6 meses a um ano, dependendo do seu ritmo e esforço. Nossa abordagem prática e orientada a projetos ajudará a acelerar seu aprendizado.

Eu preciso de um diploma de faculdade para começar a atuar como programador?

Não. Ser programador é uma excelente oportunidade para quem não possui diploma de faculdade. Muitas empresas contratam baseadas nas habilidades técnicas e experiência prática, não necessariamente em diplomas. Após conquistar uma vaga, você pode optar por complementar sua formação com um diploma.

Por que a programação se tornou a profissão mais promissora da atualidade?

A necessidade de programadores cresceu exponencialmente, especialmente após a pandemia de Covid-19, que forçou muitas empresas a se adaptarem ao digital. Com o crescimento das empresas de tecnologia, a demanda por programadores aumentou. Atualmente, há mais de 200 mil vagas abertas no Brasil devido à falta de profissionais qualificados.

Metodologia
Quais são os principais diferenciais da DevMedia?

Didática e Metodologia Com mais de 20 anos de experiência, nossa metodologia foca em menos aulas e mais prática. Desenvolvemos dezenas de projetos e exercícios para ajudar você a se tornar um programador completo. Nossos projetos são desafiadores e autênticos, não apenas exercícios repetitivos.
Projetos reais e exercícios Você desenvolverá diversos projetos práticos em cada carreira (Front-End, Back-End e Mobile), recebendo mentoria e suporte contínuo. A prática é essencial, e oferecemos milhares de exercícios para ajudar você a fixar o conteúdo e melhorar sua posição no ranking.
Suporte ao aluno Nossa plataforma oferece suporte dedicado com professores experientes, respondendo suas dúvidas em menos de uma hora. Isso garante que você receba a ajuda necessária durante toda a sua jornada de aprendizado.
Gamificação A DevMedia utiliza gamificação para tornar o aprendizado mais envolvente e motivador. Você acumula pontos e moedas por acertos, que podem ser trocados por produtos e customizações no seu card pessoal. Além disso, o sistema de ranking mensal incentiva a competição amigável e a melhoria contínua.

O que eu irei aprender estudando pela DevMedia?

Ao estudar conosco, você se tornará um programador Full Stack, dominando Front-End, Back-End e Mobile. Utilizamos a linguagem JavaScript, a mais utilizada no mercado, preparando você para criar sistemas webs e aplicativos celulares. Nossa abordagem prática inclui exercícios para fixar o conhecimento e desenvolvimento de projetos reais que te preparam, para o mercado de trabalho.

Quais as vantagens de aprender programação através da linguagem JavaScript?

  1. Ela é Multiplataforma, ela vai te permitir programar para web e para celulares utilizando praticamente a mesma sintaxe.
  2. Elá é Full Stack. Ela te permite criar aplicações Front-end, Back-end e Mobile. Isso acelera muito sua carreira e aumenta suas possibilidades de pegar trabalhos autônomos e conquistar uma vaga no mercado.
  3. Ela é fácil de aprender. Como ela não exige conhecimento inicial em “Orientação a Objetos” ela se torna mais simples com uma curva de aprendizado suave e vai te permitir começar a programar mais rápido do que outras linguagens

A plataforma oferece certificados?

Sim, oferecemos dois tipos de certificados: o certificado de conclusão, que você adquire ao consumir o conteúdo, e o certificado de autoridade, que você obtém ao acertar exercícios. Ambos possuem carga horária, que pode ser utilizada para fins acadêmicos, como atividades complementares na faculdade, e também para comprovações em processos seletivos ou no seu currículo.

A plataforma tem suporte ao aluno, como funciona?

Sim, temos uma equipe de programadores pronta para ajudar com todas as suas dúvidas! Durante o horário comercial, o tempo médio de resposta é de até 10 minutos. E não se preocupe, também oferecemos suporte à noite e nos finais de semana, com um prazo de resposta um pouco maior.

A DevMedia me forma como programador Full Stack?

Sim! Oferecemos uma formação completa, do zero até Full Stack. Nosso foco é na prática, então você vai encontrar muitos exercícios e projetos reais ao longo do curso. Garantimos que você sairá com a autonomia necessária para desenvolver seus próprios projetos com confiança!

Tem horário para as aulas?

Não, não temos horários fixos para as aulas. Todo o nosso conteúdo está disponível para você acessar a qualquer momento, permitindo que você estude conforme sua própria disponibilidade e ritmo. Dessa forma, você pode integrar o aprendizado à sua rotina de maneira mais flexível e eficaz.

Por que a DevMedia não usa videoaulas em sua didática?

Nosso foco principal é formar programadores de verdade. Sabemos que o dia a dia de um programador envolve muita leitura, interpretação e escrita de código. Por isso, nosso conteúdo é desenvolvido para ambientar você nesse processo desde o início, proporcionando mais autonomia e acelerando seu aprendizado.
Na vídeo-aula é o professor que está lendo, interpretando e escrevndo o código para você, isso limita o seu progresso. Ao ler e interagir diretamente com o conteúdo, você exercita sua capacidade de leitura e concentração, além de poder avançar no seu próprio ritmo. Dessa forma, você se torna um programador mais independente e preparado para os desafios reais do mercado.

Preciso de um computador específico para estudar na DevMedia?

Não é necessário nada específico. Qualquer computador com processador atual e memória de 8 GB é suficiente.

Eu consigo estudar pelo celular?

Sim, a DevMedia possui um aplicativo que te permite seguir com seus estudos de qualquer lugar.

A DevMedia tem aplicativo?

Sim, nosso aplicativo está disponível na Play Store e na Apple Store, permitindo que você estude de forma prática e conveniente em qualquer lugar.

Preciso estar na faculdade para acompanhar os estudos na DevMedia?

Não, a faculdade não é necessária. Você não precisa de nenhum conhecimento prévio para iniciar os estudos na nossa plataforma.

Assinatura e Pagamentos
Quais são os planos de assinatura disponíveis?

Oferecemos dois tipos de planos: o plano recorrente e o plano anual. No plano recorrente, a cobrança é lançada mensalmente no cartão de crédito, necessitando apenas do limite para uma parcela. No plano anual, o valor total é lançado no cartão de crédito, parcelado em 12 vezes, e você precisa dispor do valor total no limite do seu cartão. Você também pode optar por pagar no PIX ou no Boleto parcelado (sujeito à analise de crédito)

Adquirindo o plano, terei acesso a todo o conteúdo?

Sim, ao assinar nossa plataforma, você desbloqueia acesso total a todo o nosso conteúdo, sem precisar comprar nada separadamente.

A plataforma tem planos vitalícios?

Não, nossos planos são anuais, garantindo que você tenha acesso contínuo às atualizações mais recentes e aos novos conteúdos. A tecnologia evolui rapidamente, e um plano vitalício oferece um conteúdo estático que se tornará ultrapassado em pouco tempo. Com nossos planos anuais, você está sempre à frente, aprendendo as novidades e tendências mais atuais no mundo da programação.

A DevMedia tem fidelidade?

Sim, nosso plano tem uma fidelidade de 12 meses, o que garante o tempo ideal para você explorar nosso conteúdo e desenvolver a autonomia necessária para trabalhar com programação.

Como funciona o cancelamento?

Nós garantimos seu direito de cancelamento com reembolso total dentro dos primeiros 7 dias, tanto no plano anual quanto no plano recorrente. Após esse período, se você estiver no plano recorrente e optar por cancelar antes de completar 12 meses, há uma taxa de 10% sobre o valor total. No plano anual, não há multas adicionais, mas o valor pago não é reembolsável.
Para que você aproveite ao máximo seu investimento, oferecemos suporte personalizado para orientá-lo na utilização da plataforma. Também temos a opção de transferência de titularidade do plano, permitindo que outra pessoa aproveite o restante do seu período de assinatura.

A renovação é automática?

Sim, nosso plano anual renova automaticamente após 12 meses, proporcionando conveniência e continuidade no seu aprendizado. Na renovação automática não é debitado do seu cartão as 12 parcelas. Para facilitar e não prejudicar o seu limite, a renovação é feita no modelo recorrente, cobrando uma mensalidade a cada mês.
Além disso, a renovação não tem fidelidade, oferecendo total flexibilidade. Você também tem a liberdade de desativar a renovação automática a qualquer momento, garantindo controle absoluto sobre sua assinatura.

Cadastro
Como excluir meus dados da plataforma?

Para excluir seus dados da plataforma, acesse o link : https://www.devmedia.com.br/fale-conosco/ e abra um protocolo de 'Exclusão de dados'. Nossa equipe processará a solicitação e removerá todas as informações do seu cadastro.

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar