Prévia do material em texto
<p>1 de 12faculdade.grancursosonline.com.br</p><p>Professor(a): Anderson Nascimento</p><p>Unidade 4 | Aula 1</p><p>Professor(a): anderson nascimento</p><p>Unidade 4 aplicação de consultas em Bancos de dados</p><p>Utilizando Linguagem sQL</p><p>Aula 1 – Estrutura Básica de Consultas (DQL)</p><p>objetivo da aula</p><p>Conhecer a estrutura básica de consultas escritas em linguagem SQL, a partir do comando</p><p>SELECT e de suas cláusulas complementares.</p><p>Apresentação</p><p>Nesta aula, vamos estudar o grupo de comandos conhecido por DQL – sigla que vem de</p><p>“Linguagem de Consulta de Dados” –, o qual é composto do comando SELECT, juntamente</p><p>com suas cláusulas.</p><p>Vamos aprender a realizar consultas em bancos de dados, além de compor query a</p><p>partir de comandos condicionais, que permitem a aplicação de filtros nas consultas e de</p><p>comandos de ordenação.</p><p>Ao final desta aula, você será capaz de elaborar as suas próprias consultas, utilizando</p><p>a linguagem SQL – um padrão no que diz respeito aos bancos de dados relacionais.</p><p>Está pronto? Então vamos nessa!</p><p>1. Linguagem de consulta de dados</p><p>Consultas em bancos de dados são comandos aplicados em tabelas de um database</p><p>que recuperam e retornam dados, de acordo com as cláusulas digitadas no conjunto de</p><p>comando que chamamos de “query”.</p><p>O grupo de comandos, chamado de DQL – sigla para “Linguagem de Consulta de Dados”</p><p>–, possui apenas o comando SELECT, que, juntamente com outras cláusulas, produz qualquer</p><p>consulta necessária para se obter dados em um banco.</p><p>Sintaxe:</p><p>SELECT coluna1, coluna2,...</p><p>FROM nome_da_tabela;</p><p>Livro Eletrônico</p><p>2 de 12faculdade.grancursosonline.com.br</p><p>Unidade 4 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>Os argumentos do comando SELECT são:</p><p>• SELECT: devemos especificar as colunas que queremos exibir no resultado da consulta;</p><p>• FROM: listamos as tabelas que serão usadas para obter as colunas desejadas.</p><p>Para aplicarmos os comandos dos exemplos que veremos a seguir, execute a</p><p>sequência de comandos abaixo no site https://sqliteonline.com/.</p><p>CREATE TABLE cliente(</p><p>codcliente INTEGER PRIMARY KEY,</p><p>nome VARCHAR(50) NOT NULL,</p><p>cidade VARCHAR(50),</p><p>sexo CHAR(1),</p><p>estado CHAR(2),</p><p>estadocivil CHAR(2)</p><p>);</p><p>CREATE TABLE carro(</p><p>codcarro INTEGER PRIMARY KEY,</p><p>marca VARCHAR(30) NOT NULL,</p><p>modelo VARCHAR(30) NOT NULL,</p><p>valor real</p><p>);</p><p>CREATE TABLE aluguel(</p><p>codaluguel INTEGER PRIMARY KEY,</p><p>codcliente INTEGER NOT NULL,</p><p>codcarro INTEGER NOT NULL,</p><p>dataaluguel DATE NOT NULL,</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>3 de 12faculdade.grancursosonline.com.br</p><p>Unidade 4 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>FOREIGN KEY (codcliente) REFERENCES cliente (codcliente),</p><p>FOREIGN KEY (codcarro) REFERENCES carro (codcarro)</p><p>);</p><p>INSERT INTO cliente (codcliente, nome, cidade, sexo, estado, estadocivil)</p><p>VALUES (1, ‘Ana Silva’, ‘Duque de Caxias’, ‘F’, ‘RJ’, ‘C’);</p><p>INSERT INTO cliente (codcliente, nome, cidade, sexo, estado, estadocivil)</p><p>VALUES</p><p>(2, ‘Bruna Pereira’, ‘Niterói’, ‘F’, ‘RJ’, ‘C’),</p><p>(3, ‘Túlio Nascimento’, ‘Duque de Caxias’, ‘M’, ‘RJ’, ‘S’),</p><p>(4, ‘Fernando Souza’, ‘Campinas’, ‘M’, ‘SP’, ‘S’),</p><p>(5, ‘Lúcia Andrade’, ‘São Paulo’, ‘F’, ‘SP’, ‘C’);</p><p>INSERT INTO carro VALUES</p><p>(1, ‘Ford’, ‘Ka’,100.00),</p><p>(2, ‘Fiat’, ‘Argo’,150.00),</p><p>(3, ‘Chevrolet’, ‘Onix’,170.00),</p><p>(4, ‘Volkswagen’, ‘Polo’,150.00),</p><p>(5, ‘Renault’, ‘Kwid’, 120.00);</p><p>INSERT INTO aluguel VALUES</p><p>(1, 3, 2, ‘2023/04/01’),</p><p>(2, 2, 1, ‘2023/04/02’),</p><p>(3, 2, 1, ‘2023/04/03’),</p><p>(4, 2, 3, ‘2023/04/04’),</p><p>(5, 1, 4, ‘2023/04/05’),</p><p>(6, 1, 4, ‘2023/04/06’),</p><p>(7, 1, 1, ‘2023/04/07’),</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>4 de 12faculdade.grancursosonline.com.br</p><p>Unidade 4 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>(8, 5, 2, ‘2023/04/08’),</p><p>(9, 5, 2, ‘2023/04/09’),</p><p>(10, 3, 1, ‘2023/04/10’);</p><p>Agora, vejamos exemplos de aplicação do comando SELECT:</p><p>a) Recupere o nome de todos os clientes:</p><p>SELECT nome</p><p>FROM cliente;</p><p>A Figura 1 mostra o resultado após a execução da query.</p><p>Figura 1: Resultado após a execução da consulta na tabela cliente</p><p>Fonte: Elaboração própria.</p><p>b) Recupere a marca e o modelo dos carros disponíveis para aluguel:</p><p>SELECT marca, modelo</p><p>FROM carro;</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>5 de 12faculdade.grancursosonline.com.br</p><p>Unidade 4 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>Figura 2: Resultado após a execução da consulta na tabela carro</p><p>Fonte: Elaboração própria.</p><p>Podemos também usar a cláusula “*” (asterisco) para recuperar todas as colunas de</p><p>uma só vez. Vejamos a aplicação.</p><p>c) Recupere todas as informações sobre os carros:</p><p>SELECT *</p><p>FROM carro;</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>6 de 12faculdade.grancursosonline.com.br</p><p>Unidade 4 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>Figura 3: Resultado após a execução da consulta na tabela carro</p><p>Fonte: Elaboração própria.</p><p>2. condição de filtragem</p><p>Na elaboração das consultas, podemos incluir condições de filtragem, para que as</p><p>consultas sejam mais precisas, de acordo com a necessidade.</p><p>A cláusula que usamos para estabelecer essas condições é a WHERE.</p><p>Sintaxe:</p><p>SELECT nome</p><p>FROM tabela</p><p>WHERE condição;</p><p>A cláusula WHERE deve conter a condição desejada juntamente com os operadores</p><p>lógicos, que podem ser:</p><p>• AND: retorna registros em que ambas as condições são verdadeiras;</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>7 de 12faculdade.grancursosonline.com.br</p><p>Unidade 4 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>EXEMPLO</p><p>SELECT *</p><p>FROM tabela</p><p>WHERE coluna1 = valor1</p><p>AND coluna2 = valor2;</p><p>• OR: retorna registros em que pelo menos uma das condições é verdadeira;</p><p>EXEMPLO</p><p>SELECT *</p><p>FROM tabela</p><p>WHERE coluna1 = valor1</p><p>OR coluna2 = valor2;</p><p>• NOT: retorna registros em que a condição é falsa;</p><p>EXEMPLO</p><p>SELECT *</p><p>FROM tabela</p><p>WHERE NOT coluna1 = valor1;</p><p>• IN: retorna registros em que a coluna está dentro de um conjunto de valores;</p><p>EXEMPLO</p><p>SELECT *</p><p>FROM tabela</p><p>WHERE coluna1 IN (valor1, valor2, valor3);</p><p>• BETWEEN: retorna registros em que a coluna está dentro de um intervalo de valores;</p><p>EXEMPLO</p><p>SELECT *</p><p>FROM tabela</p><p>WHERE coluna1 BETWEEN valor1 AND valor2;</p><p>• LIKE: retorna registros em que a coluna contém um padrão específico.</p><p>EXEMPLO</p><p>SELECT *</p><p>FROM tabela</p><p>WHERE coluna1 LIKE ‘%valor%’; (retorna registros em que a coluna1 contém a palavra “valor”</p><p>em qualquer posição)</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>8 de 12faculdade.grancursosonline.com.br</p><p>Unidade 4 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>Vamos ver alguns exemplos.</p><p>a) Recupere o nome dos clientes do estado do Rio de Janeiro:</p><p>SELECT nome</p><p>FROM cliente</p><p>WHERE estado = ‘RJ’;</p><p>A Figura 4 mostra o resultado da execução da consulta.</p><p>Figura 4: Resultado após a execução da consulta na tabela cliente</p><p>Fonte: Elaboração própria.</p><p>b) Recupere o modelo e o valor de aluguel dos carros cujo aluguel custa menos de 150 reais:</p><p>SELECT modelo, valor</p><p>FROM carro</p><p>WHERE valor (maior)</p><p>• = (maior ou igual)</p><p>• ou! = (diferente)</p><p>Figura 5: Resultado após a execução da consulta na tabela carrot</p><p>Fonte: Elaboração própria.</p><p>Como sugestão, elabore algumas outras consultas ao banco de dados para treinar o</p><p>uso dessas condições na elaboração de queries.</p><p>3. ordenação de dados</p><p>Os resultados das consultas também podem ser ordenados de acordo com a necessidade</p><p>do analista. Para isso, utilizamos a cláusula ORDER BY.</p><p>Sintaxe:</p><p>SELECT nome</p><p>FROM cliente</p><p>WHERE condição</p><p>ORDER BY campo de ordenação ASC / DESC;</p><p>Assim:</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>10 de 12faculdade.grancursosonline.com.br</p><p>Unidade 4 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>• Podemos utilizar mais de um campo de ordenação;</p><p>• Usamos ASC para ordenação ascendente, porém é opcional o uso da palavra, pois ela</p><p>é default;</p><p>• Usamos DESC para indicar que a ordenação é decrescente.</p><p>Vamos aos exemplos.</p><p>a) Recupere o nome dos clientes em ordem alfabética de nome.</p><p>SELECT nome</p><p>FROM cliente</p><p>ORDER BY nome;</p><p>Figura 6: Resultado após a execução da consulta na tabela cliente</p><p>Fonte: Elaboração própria.</p><p>b) Recupere o modelo e o preço de aluguel dos carros, em ordem de valor de aluguel,</p><p>do mais caro para o mais barato.</p><p>SELECT modelo, valor</p><p>FROM carro</p><p>ORDER BY valor DESC;</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>11 de 12faculdade.grancursosonline.com.br</p><p>Unidade 4 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>Figura 7: Resultado após a execução da consulta na tabela carro</p><p>Fonte: Elaboração própria.</p><p>Sugiro que você crie outras necessidades de consultas, com ordenação, para praticar</p><p>os comandos em SQL.</p><p>considerações finais da aula</p><p>Nesta aula, vimos a aplicação prática de diversos comandos em linguagem SQL, usando</p><p>o grupo de comandos conhecidos por DQL, que traz a cláusula SELECT, a qual pode ser</p><p>incrementada por estruturas condicionais e lógicas.</p><p>As consultas SQL são essenciais para a manipulação de dados, em um banco de dados,</p><p>pois permitem que os usuários obtenham informações úteis a partir de grandes conjuntos</p><p>de dados armazenados em tabelas relacionais.</p><p>As consultas SQL também são importantes para gerar relatórios, fazer análises e tomar</p><p>decisões baseadas em dados. Elas estarão presentes em qualquer sistema ou aplicativo,</p><p>no sentido de melhorar a experiência de manipulação e visualização de dados nos sistemas</p><p>que usamos no dia a dia.</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>12 de 12faculdade.grancursosonline.com.br</p><p>Unidade 4 | Aula 1</p><p>Professor(a): Anderson Nascimento</p><p>materiais complementares</p><p>Do Zero às Primeiras Consultas com SQL | SQL Básico - Parte 1</p><p>2021, Let’s Data.</p><p>Link para acesso: https://www.youtube.com/watch?v=QBDjB2V_uDM (acesso em: 21</p><p>abr. 2023.)</p><p>SQL Básico</p><p>2023, DevMedia.</p><p>Link para acesso: https://www.devmedia.com.br/sql-basico/28877 (acesso em: 21 abr.</p><p>2023.)</p><p>referências</p><p>CARDOSO, V. Linguagem SQL Fundamentos e Práticas. 1. ed. Rio de Janeiro: Saraiva,</p><p>2013.</p><p>DAMAS, L. SQL - Structured Query Language. 6. ed. Rio de Janeiro: LTC, 2014.</p><p>SILBERSHATZ, A. Sistema de Banco de Dados. 7. ed. Rio de Janeiro: LTC, 2020.</p><p>O conteúdo deste livro eletrônico é licenciado para MATEUS - 21516224795, vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação ou distribuição,</p><p>sujeitando-se aos infratores à responsabilização civil e criminal.</p><p>Aula 1 – Estrutura Básica de Consultas (DQL)</p><p>Aula 2 – Junções</p><p>Aula 3 – Funções de Agregação de Dados</p><p>Aula 4 – Consultas Avançadas</p><p>Aula 5 – Visões</p>