Olá! Meu nome é Victorino Vila e serei seu instrutor nesse treinamento de consultas SQL com Oracle.
Victorino Vila é um homem de pele clara, olhos castanhos e cabelo e barba grisalhos. Está com uma blusa de frio azul-escura com estampa ao centro. Ao fundo, uma parede azul-clara lisa sem decorações.
Nesse curso, nós vamos, primeiramente, preparar nosso ambiente de trabalho carregando uma base de dados em um banco Oracle. Nessa base de dados, treinaremos todos os nossos comandos de seleção. Além disso, vamos entender como o banco de dados Oracle é representado; ou seja, como conseguimos ver um esquema de banco e entender os relacionamentos e conteúdos das tabelas, para saber que tipo de comando de seleção vamos efetuar.
Na segunda aula, vamos começar a praticar com consultas simples, usando filtros e expressões lógicas, que misturam testes com as palavras AND ("e") e OR ("ou").
Em seguida, na terceira aula, mudaremos a saída do resultado da consulta. Nesse caso, veremos como tirar as repetidas da consulta, como limitar a saída da consulta para visualizar apenas determinada parcela de registros da tabela, além de como ordenar a saída aplicando um critério específico, em diferentes sentidos (ascendente ou descendente).
Nessa aula, também aprenderemos a agrupar linhas da tabela, pegando valores numéricos e aplicando um conceito de agregação matemático, como a soma, média, mínimo, máximo, e assim por diante. Também filtraremos esses valores agrupados.
Já na quarta aula, exploraremos a parte de juntar tabelas. Essa ação é importante para as consultas porque, muitas vezes, procuramos campos que estão em tabelas diferentes. Para isso, aprenderemos os diferentes tipos de comandos JOIN ("juntar"). Além de juntar, podemos unir tabelas! Para isso, usaremos o comando UNION ("união").
Ao final dessa aula, falaremos sobre visões - que são, na verdade, tabelas "lógicas" que conseguimos construir no banco.
Na quinta aula, vamos aprender sobre funções, vendo quatro tipos diferentes delas: de texto, de data, de número e de conversão.
Por fim, vamos enfrentar dois problemas práticos em que aplicaremos todo o conhecimento adquirido na produção de dois relatórios para os nossos usuários.
Esperamos que vocês gostem desse curso, vamos lá!
Antes de começar esse treinamento, temos alguns avisos.
Se você está começando a formação a partir desse curso, pulando o primeiro da formação, "Introdução ao SQL com Oracle: manipule e consulte dados", não há problemas. Esse primeiro curso é voltado para pessoas que não sabem nada sobre o assunto. Então, muitas o pulam quando já possuem algum conhecimento sobre SQL e desejam seguir para conceitos e técnicas mais avançados.
Dessa forma, caso você tenha começado pelo presente curso e esteja com sua máquina "limpa", é preciso que você tenha instalados os seguintes softwares para realizar esse e outros treinamentos da formação:
Nesse sentido, fica a dica: retorne às Aulas 1 e 2 do curso introdutório. Lá, nos falamos sobre:
Feita essa revisão de conceitos básicos, você pode voltar para o presente curso e começar a seguir o nosso treinamento.
No entanto, caso você esteja seguindo a formação desde o início, ou seja, fez todo o curso introdutório e já tem o ambiente preparado na sua máquina, é só seguir em frente.
Vamos adiante!
Para montar o ambiente e começar a estudar, vamos baixar os arquivos disponíveis na seção "Download do material" desta aula. Eles estão compactados em Arquivo.zip
.
Em seguida, copiamos e colamos esse arquivo em um diretório de nome curto; por exemplo: "Disco Local (C:) > oracle > scripts". Vamos descompactá-lo clicando com o botão direito no nome do arquivo e, no menu contextual, em "Extract" ou "Extrair".
Com isso, teremos 4 comandos SQL que executaremos no nosso banco Oracle, para criar a base de dados para o presente treinamento. Temos os seguintes scripts:
Carga_Items_Notas.sql
e Carga_Notas.sql
, que carregam os movimentos do nosso esquema;Carga_Tabelas_Cadastrais.sql
, que carrega as tabelas cadastrais no nosso esquema;Criacao_Esquema.sql
, que cria as tabelas no nosso esquema.Mais adiante, entenderemos melhor o que são as tabelas cadastrais e as tabelas de movimento. Como ainda não realizamos nenhuma carga dessas tabelas na nossa base de dados Oracle, faremos o seguinte: vamos abrir o script Criacao_Esquema.sql
com o editor de texto.
Vemos que, no início desse script, há 5 comandos DROP TABLE
:
DROP TABLE ITENS_NOTAS_FISCAIS;
DROP TABLE NOTAS_FISCAIS;
DROP TABLE TABELA_DE_CLIENTES;
DROP TABLE TABEÇA_DE_PRODUTOS;
DROP TABLE TABELA_DE_VENDEDORES;
Esse comando apaga a tabela. Porém, para realizar essa exclusão no esquema Oracle, a tabela precisa existir. Como estamos executando esse script pela primeira vez, essas tabelas não existem no nosso banco. Para evitar erros, digitaremos --
(traço, traço, espaço) na frente de todos os comandos DROP TABLE
.
-- DROP TABLE ITENS_NOTAS_FISCAIS;
-- DROP TABLE NOTAS_FISCAIS;
-- DROP TABLE TABELA_DE_CLIENTES;
-- DROP TABLE TABEÇA_DE_PRODUTOS;
-- DROP TABLE TABELA_DE_VENDEDORES;
Isso serve para inserir comentários no Oracle. Isso significa que, quando executarmos esse script, essas cinco linhas serão consideradas como comentários e, portanto, desprezadas. Somente teríamos que rodar os cinco comandos DROP
se estivéssemos carregando novamente a nossa base demo, depois de realizar a carga anterior.
Agora, salvaremos esse script no editor de texto e rodá-lo, assim como os outros scripts, em uma ordem natural que será seguida adiante.
Nós vimos, no curso de introdução, como rodar um script: basta abrir o SQL Developer e carregar o arquivo SQL.
Porém, se observarmos bem, veremos que dois dos nossos scripts possuem um tamanho acima do normal: Carga_Items_Notas.sql
com 24.793 KB e Carga_Notas.sql
com 12.930 KB. Muitas vezes temos problemas ao rodar scripts muito grandes no SQL Developer.
Por isso, veremos outra forma de executar scripts no Oracle. Sabemos que a Oracle criou um IDE, uma interface construída para que a pessoa usuária tenha acesso ao banco - o Oracle SQL Developer. É uma interface bastante amigável com uma área de scripts onde podemos copiar e colar comandos, acompanhar os resultados e assim por diante.
Porém, existe um aplicativo mais primitivo, por linha de comando, chamado SQL Plus, nativo do Oracle. Nós o usaremos para criar a nossa base demo e, assim, também veremos como esse aplicativo funciona.
Uma vez que o SQL Plus é do tipo "linha de comando", para executá-lo nós abriremos o aplicativo Prompt de Comando do Windows. Nele, digitaremos sqlplus
. Teremos algo como:
Microsoft Windows [versão 10.0.19044.1645]
(c) Microsoft Corporation. Todos os direitos reservados.
C:\Users\Alura-Estudio>sqlplus
Ao apertar "Enter" nesse breve código, o aplicativo nos pedirá o login e a senha da Oracle. Usaremos os mesmos utilizados no primeiro curso, um daqueles usuários padrão nos quais inserimos a senha ao instalar o Oracle. Então:
Microsoft Windows [versão 10.0.19044.1645]
(c) Microsoft Corporation. Todos os direitos reservados.
C:\Users\Alura-Estudio>sqlplus
SQL*Plus: Release 21.0.0.0.0 - Production on Qua Mai 11 00:28:20 2022
Version 21.3.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved.
Informe o nome do usuario: system
Informe a senha: ___
Ao apertar "Enter", temos o SQL Plus ativado, e entramos no Oracle:
// omitido
SQL>
Podemos, por exemplo, codar uma query com o comando select
e checar o resultado, digitando-a na frente de SQL>
.
Nesse momento, não usaremos o SQL Plus para rodar um comando SQL, mas para rodar nossos scripts.
Começaremos pelo script Criacao_Esquema.sql
, que cria todas as tabelas do nosso esquema.
Para rodar um script externo ao SQL Plus, nós digitamos @
e o caminho completo para arquivo script. No nosso caso, é: c:\oracle\scripts\Criacao_Esquema.sql
. Então, temos:
SQL> @c:\oracle\scripts\Criacao_Esquema.sql
Dando "Enter" nessa linha, executamos a criação das tabelas.
Com o próximo script, efetuaremos a carga das tabelas cadastrais, com o script Carga_Tabelas_Cadastrais.sql
.
Podemos repetir o comando que usamos anteriormente apenas apertando a "Seta para cima" no teclado. Então, só precisamos adaptar o código com o nome do arquivo correto:
SQL> @c:\oracle\scripts\Carga_Tabelas_Cadastrais.sql
Ao dar "Enter", as tabelas são carregadas. Agora, como estamos em uma sessão do SQL Plus, precisamos efetuar o COMMIT
para confirmar a inclusão dos dados.
Se você fez o curso de introdução, deve lembrar sobre o comando
COMMIT
eROLLBACK
, ainda que bastante superficialmente. O comandoCOMMIT
confirma as alterações que realizamos no banco. Quando abrimos uma sessão do Oracle e trabalhamos nela, é como se tivéssemos uma instância de Oracle, e tudo o que fazemos nessa instância não pode ser enxergado pelas outras conexões, a não ser quando executamos oCOMMIT
.
Para isso, é só digitar o seguinte:
SQL> commit
Como o COMMIT
é um comando SQL, ele não é executado quando apertamos "Enter" no SQL Plus, mas apenas cria uma segunda linha. Então, basta digitarmos uma barra invertida (\
) nessa linha e apertar "Enter" novamente. Visualizaremos a frase "Commit concluído"!
Agora vamos executar o script Carga_Notas.sql
. Para isso, seguimos os mesmos passos de antes: apertamos a tecla "Seta para cima" 3 vezes para repetir o comando do script (porque rodamos mais duas linhas de código diferentes depois dele), inserimos o nome do script correto e apertamos "Enter". Teremos:
SQL> @c:\oracle\scripts\Carga_Notas.sql
Dessa forma, executamos a carga das tabelas de cabeçalho de notas fiscais. Essa execução pode levar um tempo um pouco maior, por conta do tamanho acima do normal desse arquivo.
Por fim, é só dar o COMMIT
para confirmar essa inserção, da mesma maneira que fizemos anteriormente.
SQL> commit
Pronto, inclusão confirmada!
Por fim, vamos rodar o script Carga_Itens_Notas.sql
, seguindo os mesmos passos de antes. Teremos:
SQL> @c:\oracle\scripts\Carga_Itens_Notas.sql
Esse script vai levar um tempo ainda maior que o anterior para ser executado, pois possui ainda mais dados. Quando os inclusão dos dados acabar, damos o COMMIT
novamente.
Temos todo o banco de dados montado!
Para verificar se o banco funciona como desejamos e, inclusive, comparar os acessos ao Oracle pelo SQL Plus e pelo SQL Developer, vamos abrir o SQL Developer.
Como confirmamos cada comando com o COMMIT
, ao abrir no SQL Dveeloper teremos outra conexão, outra instância do banco, mas poderemos visualizar as modificações realizadas pela instância à qual o SQL Plus está conectado.
No software, abriremos a nossa conexão. Se abrirmos as tabelas, no menu lateral esquerdo, veremos compondo a lista:
ITENS_NOTAS_FISCAIS
NOTAS_FISCAIS
TABELA_DE_CLIENTES
TABELA_DE_PRODUTOS
TABELA_DE_VENDEDORES
Nesse momento, podemos dividir a nossa tela entre o SQL Developer e o SQL Plus, para entender a conexão.
No SQL Developer, executaremos:
SELECT * FROM TABELA_DE_VENDEDORES;
Teremos, como resultado da consulta, uma tabela de quatro vendedores e seus atributos:
Resultado da consulta (para visualizar todos os campos, execute o código na sua máquina)
MATRICULA | NOME |
---|---|
00235 | Marcio Almeida Silva |
00236 | Claudia Morais |
00237 | Roberta Martins |
00238 | Pericles Alves |
Agora, vamos repetir o comando no SQL Plus:
SQL> SELECT * FROM TABELA_DE_VENDEDORES;
O resultado da consulta é o mesmo. No entanto, ele não se apresenta de maneira organizada, em tabela, como no SQL Developer. Ou seja, conseguimos executar os comandos Oracle em linhas de comando no SQL Plus, mas é muito mais simples realizar consultas no SQL Developer.
O SQL Plus é um aplicativo herdado das primeiras versões do Oracle, bastante usado antigamente. Nós podemos melhorar um pouco a saída da consulta usando algumas teclas de atalho e comandos, mas é muita coisa para guardar na memória.
Portanto, a finalidade dessa aula foi mostrar que o SQL Plus existe, e que é ótimo para carregar scripts muito grandes. Mas, para trabalhar no Oracle, a melhor opção é o SQL Developer.
Então, agora, apenas fecharemos o SQL Plus. Para isso, podemos apenas fechar a janela do Prompt de Comando ou executar o comando EXIT
.
Vamos voltar para o SQL Developer, que será nosso ambiente de trabalho do presente curso.
O curso Oracle Database: projeções, seleções, joins e views possui 361 minutos de vídeos, em um total de 80 atividades. Gostou? Conheça nossos outros cursos de SQL e Banco de Dados em Data Science, ou leia nossos artigos de Data Science.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.