Banco de Dados - Linguagem SQL - Introdução à consulta - SELECT

9.23k views3746 WordsCopy TextShare
UNIVESP
univesp.br Eixo de Computação - COM300 Univesp - Universidade Virtual do Estado de São Paulo Profes...
Video Transcript:
E aí [Música] Olá pessoal sou professor Eduardo Santarém nós vamos dar continuidade à disciplina de banco de dados ou nós vamos falar especificamente sobre uma introdução ao comando select né comando select que é utilizado para gente fazer consultas ao banco de dados eu falei lá no começo é que o banco de dados é um espaço na uma ferramenta para gente armazenar dados mas o objetivo é sempre a gente fazer o quê consultar recuperar esses dados o comando select a justamente para isso para gente poder fazer consultas ao banco de dados futebol eu vou voltar aqui
com essa estrutura né é mexendo que a gente tá usando nas outras aulas também que trata de uma empresa não tem a tabela SAC funcionaram dependente departamento localizações projeto trabalharem Então essas essa essa esse conjunto de tabelas em que a gente vai usar para proceder as consultas bom o comando select pessoal é que é o comando usado para recuperar dados né em objetos de um banco de dados a estrutura básica dele o que a gente está vendo que é o select o from Where e Order by dessas quatro causas compõe praticamente do cliente é de
tudo de principal que a gente tem no comando será grande parte dos Comandos são usando esses essas causas aqui tem outras também que compõem o comando select que a gente vai ver essas básicas quando a gente trata aqui do select da cláusula select no comando select então eu tô tratando especificamente aqui né da a cláusula select no comando select né então eu vou indicar o que a lista de atributos que eu quero recuperar Quais são os atributos que eu quero buscar depois eu tenho a causo a from que vai me indicar a lista de tabelas
você já vou colocar uma sequência de tabelas que eu quero onde eu quero recuperar esses dados Lembrando que um select pode ser procedido para uma tabela ou para um conjunto de tabelas estão também toda a tabela que eu for buscar informação nessa minha consulta vai ter que estar listadas nessa lista de tabelas eu tenho também um Air a cláusula Where onde eu estabeleço uma condição então a condição é uma expressão né que vai ter o resultado boleano que a gente vai ter um resultado verdadeiro ou falso que vai indicar quais os registros eu quero selecionar
então eu faço um filtro da hora que eu vou aplicar uma consulta na tabela pode ser que não quero fazer todos os dados da tabela mas que eu faço um filtro então que eu busco só os registros e é satisfazendo essa condição que eu estabeleci aqui e eu tenho a ordem guarder by aqui ó né aonde eu estabeleço a ordem você vai como que eu quero classificar os meus resultados né Por qual campo né como que vai ser essa como que vai ser a sua ordenação então aqui eu estabeleço a ordem que eu vou colocar
no resultado da minha consulta bom quando eu vou trabalhar a lista de atributos aqui né então a causo a select lá no comando select a minha lista de atributos eu posso sempre fazer uma recuperação de todos os campos de todas as tabelas que eu tô selecionando para isso né eu vou usar o* aqui ó o asterisco então eu vou colocar select* eu vou pegar todos os campos de todas as tabelas Mas uma coisa importante é que eu posso selecionar só os campos que eu desejar eu posso escolher os campos que eu desejar E aí eu
vou ter na recuperação somente é uma coisa que quero falar para vocês agora mesmo a gente vai trabalhar com três quatro cinco tabelas né ou com tabela de poucos registros Em 200 nossos exemplos aqui tabela de 20 registros né mas é sempre importante tem na mente pessoal que esse processo de realizar a consulta Eu sempre tenho que ter na lá no subconsciente a ideia de que eu possa melhorar sendo o processo de performance cada vez mais tem banco de dados com mais dados com mais tabelas cada vez mais pesadas tabelas com cada vez mais campos
então Onde eu consigo estabelecer um filtro exatamente da maneira que eu quero né selecionando exatamente os campos que eu quero e não trazendo tudo o que que vai acontecer eu vou preservar a rede eu vou preservar os servidores Estou buscando os dados e tá sempre bom é isso na cabeça então pensem sempre nisso não onerar o servidor e não onerar rede trazendo só o que é o que é importante o que é necessário para que ela consulta Dragon Ball aqui eu tenho um exemplo Então vou usar essa tabela aqui como exemplo tá que meu meu
desenho tá atrapalhando aqui eu tenho a tabela funcionário né tem os campos aqui da tabela funcionário e eu tenho os valores que foram atribuídos aqui dentro da tabela funcionar aqui é importante a gente vê é um detalhe importante da gente em compreender aqui né é que essas informações aqui são um exemplo para eu poder proceder então quando eu faço aqui embaixo é um comando select eu coloco select* e aqui que que isso quer dizer select select* aí que eu vou trazer Jesus como resultado todos os campos estão buscando todos os campos e eu tô buscando
from a tabela funcionário Olha a diferença aqui embaixo aqui embaixo nesse outro comando select eu tô trazendo somente os campos nome e de número tá da tabela funcionário então eu vou trazer somente os campos nome e de número que é isso aqui tá Escondidinho aqui ó tá com meu anotador aqui mas somente o campo de número e o nome Ou seja todos os outros os outros valores não vão ser trazido da minha consulta isso faz o que melhor meu processo perfumar missão não era a rede enfim trago o sol que é necessário nessa consulta específica
e aqui que que é o from from é o seguinte aonde estabeleço a minha tabela o lista de tabela é só as consultas simples né ela sempre manda uma tabela só mas grande parte das consultas que vocês vão realizar no dia a dia de trabalho normalmente pensamos trabalho em bancos relacionais elas vão tá relação mais de uma tabela né às vezes relacionando duas relacionando três tabelas e essa tabelas vão tá listadas aí dentro da cláusula from da causa ou a fronde estabelece o conjunto de tabelas que serão listadas então é muito comum né a gente
encontra um from funcionário assim dos candidatos na tabela só ou from funcionário, dependente que a gente vai ser mais para frente também com a gente para trabalhar com com a cláusula com as chaves estrangeiras né com o uso da cláusula Union Então a gente vai sempre no from estabelecer um conjunto de tabelas que a gente vai buscar dados ao mesmo tempo mas o from é sempre dá onde é a origem né da onde que eu tô indo buscar e junto de dados para minha consulta é a causa Where tem uma que o usuário permite criar
um filtro é determinando um conjunto de registros que serão recuperados da condição é sempre satisfeita por uma operação lógica booleana então sempre tem lá uma operação a condição que vai me dar o resultado final e aí toda vez que aquele registro né atender essa condição e for verdadeiro eu vou conseguir trazer esse registro não esse a gente não vai ser trazer então eu consigo fazer um filtro aí fica me chamando um filtro vertical não é trazendo só os registros são importantes e é muito importante saber pessoal que a Where tem um papel muito representativo no
comando select por quê Porque a ele que indica exatamente as condições que eu quero estabelecer do meu mundo real para poder atender aí o resultado para poder trazer o resultado na hora que eu for oferecer né o resultado para quem tiver consultando o banco de dados e uma coisa importante também que a gente tem que saber o seguinte né é porque eu vou utilizar na tabela Where o campo ou os campos né que eu vou utilizar toda hora Eles não precisam estar estados lá no na cláusula select Ou seja eu vou colocar lá select nome
eu posso colocar um Air data de nascimento não tem problema nenhum né não é porque ele tá na UERJ aí você tá lá né na cláusula select né porque tá na web que se alistado na causa select é o que vai ser listado na cláusula Where é somente a minha condição são coisas distintas né que trabalham em conjunto mas ele não soltar repetidos Olha só pessoal vamos olhar aqui né para para para o air então quando a gente vai para nossa tabela eu tenho aqui a minha na minha causa aware o sexo igual à efe
então o que que vai acontecer a consulta vai ser aplicada e vai olhar aqui no campo sexo e vai ver aqui que eu tenho F E aqui também que eu tenho F Ou seja somente esses dois registros aqui atendem as condições somente esses dois eles são listados no de baixo salário maior que 3.000 ou seja ele vai olhar aqui para tabela salário maior que 3.000 Esse é esse não é esse não é esse não esse sim então lhe traria somente esses dois registros aqui 1163 e 1167 certo que são os que atendem que o salário
Mark 3 mil desse de baixo já tem uma condição de coloca operador lógico and aqui então para satisfazer meu resultado eu tenho que ter um departamento no departamento aqui diferente de um e um salário menor que 3 mil até mudar a cor aqui para anotar as ideias Ok departamento diferente e um demônio parte aqui é o número de pagamento Escondidinho por uma marcador aqui mas eu não departamento essa coluna aqui então diferente de um qual que é esse esse e esse aqui esse são diferentes de um e o meu salário menor que 3 mil eu
tenho que esse aqui é certo e se é e ser como eu tenho uma operação em dia eu tenho que satisfazer os dois então aqui o único que satisfaz os dois é esse aqui onde eu tenho departamento diferente de um e salário menor que 3 mil Então a o único registro que seria selecionado seria esse daqui Além disso vou marcar com outra cor aqui ó você rosinha é de número maior que 1 ou sexo = M nesse caso aqui e nesse caso aqui de número maior que 1 Então esse atende esse atende e esse atende
sexo = M esse atende e esse atende perceba que como eu tenho uma cláusula uma o operador lógico hora aqui né então todos os registros atende ou atende pelo número do departamento ou atende pelo sexo aqui então se deve estado todos eles estão para isso serve a minha cláusula Where é tão importante aí o Order by World by April ordenar meu resultado então indica qual que vai ser o campo utilizado né para ordenar meu resultado assim como na cláusula Where pessoal o campo utilizado na navegação não precisa estar contemplado na seleção tá então a mesma
coisa causou esse camping que eu vou usar na ordem num precisa tá na seleção mas na maioria dos casos vai acontecer de ser né porque não faria muito sentido mas não é necessário a ordenação é padronizada na maioria dos bancos de dados como ascendente então se tornar por um canto e ordenar de forma ascendente e do menor para o maior É possível usar a palavra Desk tá para que seja realizado de forma descendente Então eu tenho também a opção de usar a palavra Ask para garantir que é ascendente é para forçar que é assim dente
mas normalmente o padrão Essa é ascendente tá e a ordem pode ser determinada por um ou mais campos eu possa terminar primeiro por uma ordem depois se for igual por a segunda e assim sucessivamente então olhando aqui no nosso nos resultados né quando eu mando fazer um select aqui mandou ordenar por nome que que ele vai fazer ele vai estar minha tabela ordenando em ordem alfabética aqui pelo campo nome nesse caso aqui né Order by sobrenome 10 que que ele vai fazer ele vai ordenar pelo campo sobrenome Começando aqui né pelo pelo nome que tenha
a maior letra né no caso e eu ver como é que fica nossa maletinha começaria pelo veio aí né do maior para o menor porque tá em ordem descendente aqui eu tenho um exemplo de ordenação né por mais de um campo Então a primeira ordena pelo número de apartamento né em ordem decrescente e depois você vai ganhar por sobrenome em ordem ascendente então aqui nesse caso ele faz alienação por um e se eu tiver iguais como que ele diz empata ele vai para o segundo Campo que eu sobrenome é assim que funciona como se fosse
um desempate Mas eu posso fazer isso com três quatro quantos Campos eu quiser e aqui uma outra opção Olha que interessante Order by dois quando eu falo Order by dois ele vai pegar olhar aqui para os campos que estão sendo selecionados no caso aqui* então seriam todos os campos ele ordenar pelo segundo Campo da lista no caso aqui em cima como eu tenho a minha tabela completa e ele estaria fazendo isso no Twitter careta no campo nome tá então o dois aqui né quer dizer o segundo Campo da minha da minha consulta poque é um
exemplo a nossa exemplo eu vou riscar o nome e o salário então são só esses campos que eu quero da tabela de funcionários né que estão trabalho em departamento quatro e eu quero ordenar isso por data de nascimento Essa é a minha necessidade de consulta eu preciso apresentar o resultado para essa consulta na hora que eu for proceder à consulta no meu selector é seu nome instalar you select nome salário from tabela de funcionários Ué você já Qual que é a minha condição o departamento número de números é igual a quatro porque eu falei que
tinha que ser no departamento quatro e eu vou ordenar por data de nascimento e aí que que vai acontecer como eu quero fazer só os campos nome salário tá que é nome salário então é a Claudia é a Patrícia né E aí elas estão ordenadas por lá de data de nascimento apesar de lata não tá aparecendo aqui elas estão satisfazendo uma condição que são elas que trabalham no departamento quatro Então esse aqui é um exemplo de uma consulta e eu tenho que realizar o comando para a satisfazer a condição do que eu tô precisando eu
tenho também pessoal uma cláusula chamada the distinct eu posso usar essa essa causa né ela determina que o resultado não vai ter registros repetidos acontece né Eu queria selecionar alguma coisa numa tabela e aí repete os Reds onde eu coloco essa causa distint ele descarta os repetidos ele traz só né A primeira Primeiro Registro daquele jeito e os repetidos ele não traz outra coisa é você é a gente pode né aplicar no resultado esse de cinco é aplicado no resultado do select né e não na tabela completa Então na verdade hora que eu trago o
resultado ainda lá aplico o destino que tinha apresenta esse resultado aqui no caso Olha só quando eu faço select distinct de número né destino de número tem várias pessoas trabalham no nos departamentos né então vai ter duas trabalho departamento um outro trabalho de parto em algumas camadas para 34 que que acontece quando eu trago um destino te de número traga o sol de número que que eu quero os departamentos de todas trabalho como certeza repetiria mas é isso eu coloco disse que não vai repetir vai aparecer uma vez só aqui serve também um outro exemplo
a distingue de nascimento e nome pessoas com nome e data de nascimento iguais não serão repetidos na minha lista tá joia Ball eu posso alterar o nome da coluna então a causou a essa eu posso usar ela possibilitam uma alteração no nome da coluna no resultado da seleção carnaval ter ao longo da coluna tabela só no resultado nesse caso aqui né é quando eu faço por exemplo select de número e eu coloco aqui um s departamento from funcionário que que vai acontecer eu vou mostrar um é o resultado o meu campo a minha resposta lugar
onde a parceria o de número lá no nome do campo aparecer departamento a mesma coisa serve aqui ó eu fiz um select nome e para esse campo aqui o tributo aqui que é o determinar de tenaz eu vou deixar ele como essa Nascimento vai aparecer como Nascimento No lugar é o na minha resposta vou colocar os nomes que eu quiser né para poder mandar isso para alguém para atender uma necessidade enfim posso fazer este operação aqui o exemplo né então por exemplo eu tenho aqui ó um select distinct de número ou seja não vai repetir
né os números do departamento E aí o número de apartamentos e de número vai aparecer como departamento tá aqui ó Esse é um from funcionário Order de número então tá aqui ó viste o número do departamento que tem funcionários da empresa vou na tabela funcionários no departamento Tem funcionário E aí coloquei o campo com o nome de departamento que você quer um exemplo de como que a gente faz uma consulta né não repete e ainda eu mudo o nome da coluna que eu desejar e posso mudar o nome de todas as colunas que eu desejar
vai ter pedido como que eu quero proceder isso aí Aqui também a ter uma opção de usar o ERP só com o like seu like é uma condição de consulta para atribuir um filtro e aí é um recurso muito importante quando eu trabalhar com dados do tipo string do tipo texto né então quando eu vou fazer uma busca do tipo texto é o ai que me permite buscar partes de um por parte de um texto Dentro de uma consulta então por exemplo aqui ó eu tenho um select* from funcionário Where o nome like José e
eu tenho aqui esse porcentagem que é um coringa nesse caso aqui né eu vou pegar todos os nomes todo o campo nome O que começa ou seja like e começa com José e dali para frente não importa o que vai ter não importa então é José e mais alguma coisa no caso aqui debaixo um outro exemplo a mesma coisa vou fazer um select* na tabela funcionário onde o nome ou seja o meu campo nome like eu tenho aqui porcentagem José porcentagem dentro do nome né Ou seja eu tenho a Maria José não sei do que
esse José né que tá no meio do nome também vai ser selecionada Por que qualquer coisa José qualquer coisa então não importa o que venha depois ou antes eu tenho José ali no meio daquele daquele Campo esse essa gente vai ser recuperado Então a maneira de colocar já posso fazer também colocar o coringa só no começo todas as palavras que terminam com José então todas as formas me atenderia então aqui eu posso usar o Haiti dessa forma então se eu não tiver Os Coringas vai buscar exatamente aquele nor e também igual bom eu posso também
pessoal alterar os valores na minha consulta então por exemplo quando eu vou alterar os resultados a partir do da do original nesse caso aqui olha só eu tenho um select nome e eu tenho por exemplo salário vezes um ponto 3 funcionário quando eu vou dar a consulta vai aparecer o nome exatamente como está na tabela e o campo o salário vai aparecer x 1.3 ou seja uma projeção lembra que eu tô fazendo uma consulta eu tô pegando os dados apresentados a consulta não estou alterando os dados a tabela é só na minha consulta o salário
vai aparecer x 1.3 aumentando em trinta por cento do salário e uma outra coisa muito interessantes vão ver muitas vezes eu posso fazer um select sem frango Se eu fizer isso aqui ó né não sei leque chave o paraíso mais 27 parente vezes três aí vai a procedência essa essa conta matemática aqui né os bancos de dados tem capacidade para executar uma conta dessa ele vai a pergunta que banco de dados em outros entendendo numa consulta e quero que ele que ele opere essa essa conta matemática que ele vai fazer isso para gente então isso
aqui é factível devo usar que você usar select para fazer tipo de operação tá joia bom esse aqui é nosso exemplo Então a gente tem aqui ó recuperar nomes sobrenomes salário com a projeção de um aumento de salário de quinze por cento dos funcionários apresentando também o salário atual e eu quero ordenar por salário Então olha só eu pego nome sobrenome o salário como ele tá eu faço aqui um outro Campo a salário vezes um ponto 15 ou seja o aumento de quinze por cento és como novo salário você vai apresentar esse campo como novo
salário from tabela funcionário o Order by salário ordenado por salário como que eu montei o resultado aqui ó meu resultado é esse nome sobrenome o salário como que ficaria o salário já alterado né então aqui eu teria já com o aumento de quinze por cento e seria o meu resultado então então a gente procedeu né uma consulta já mostrando o salário e o novo salário bom a gente fez uma introdução ao comando Será que já continuar falando do comando select dos variações né É muito importante que vocês é é fácil as atividades de apoio que
vocês é usem ou mais quer ir para poder replicar todos esses comandos que nós estamos fazendo aqui dentro de um banco mais que aí para poder é solidificar o crescimento de vocês a gente vai na próxima aula pessoal é E aí E aí [Música]
Related Videos
Banco de Dados - Linguagem SQL - Consultas com funções - SELECT
23:02
Banco de Dados - Linguagem SQL - Consultas...
UNIVESP
7,654 views
Do Zero às Primeiras Consultas com SQL | SQL Básico - Parte 1
1:04:12
Do Zero às Primeiras Consultas com SQL | S...
Let's Data
139,641 views
Banco de Dados - Modelo Entidade-Relacionamento (MER) - Parte I: entidades, atributos, chaves
18:48
Banco de Dados - Modelo Entidade-Relaciona...
UNIVESP
44,167 views
SQL Saia do ZERO em APENAS UMA AULA
22:56
SQL Saia do ZERO em APENAS UMA AULA
Jerry Strazzeri
63,621 views
Consultas SQL na Prática usando SELECT, DISTINCT, WHERE e LIMIT | SQL Para Análise de Dados EP. 1
15:13
Consultas SQL na Prática usando SELECT, DI...
Programação Dinâmica
63,505 views
10 comandos essenciais em SQL para estudantes
19:55
10 comandos essenciais em SQL para estudantes
Bóson Treinamentos
144,344 views
Bancos Relacionais! Conheça os JOINs do SQL... INNER, OUTER, FULL, SEMI e ANTI JOIN!
14:35
Bancos Relacionais! Conheça os JOINs do SQ...
Cod3r Cursos
45,951 views
Database Indexing Explained (with PostgreSQL)
18:19
Database Indexing Explained (with PostgreSQL)
Hussein Nasser
309,131 views
SQL // Dicionário do Programador
8:47
SQL // Dicionário do Programador
Código Fonte TV
143,321 views
SQL: Linguagem de Manipulação de Dados (DML)
5:55
SQL: Linguagem de Manipulação de Dados (DML)
Audir Costa
5,530 views
O que você precisa saber para começar a fazer consultas com SQL? | SQL PARA ANÁLISE DE DADOS EP. 0
10:33
O que você precisa saber para começar a fa...
Programação Dinâmica
70,169 views
Aprenda SQL básico em 10 minutos | Tutorial de SQL
11:36
Aprenda SQL básico em 10 minutos | Tutoria...
Vinicius Raphael
12,386 views
10 Comandos em SQL que Você Precisa Aprender
16:17
10 Comandos em SQL que Você Precisa Aprender
Hashtag Programação
152,822 views
Como usar ORDER BY em consultas SQL e IN, BETWEEN, LIKE e NOT | SQL para Análise de Dados EP. 2
13:30
Como usar ORDER BY em consultas SQL e IN, ...
Programação Dinâmica
25,197 views
Curso MySQL #11 - SELECT (Parte 1)
34:31
Curso MySQL #11 - SELECT (Parte 1)
Curso em Vídeo
405,808 views
Curso de SQL com MySQL - Diagrama Entidade Relacionamento (DER) - Aula 1
20:08
Curso de SQL com MySQL - Diagrama Entidade...
Otávio Miranda
120,470 views
Microservices with Databases can be challenging...
20:52
Microservices with Databases can be challe...
Software Developer Diaries
42,909 views
BlackRock: The Conspiracies You Don’t Know
15:13
BlackRock: The Conspiracies You Don’t Know
More Perfect Union
1,652,819 views
10 - T-SQL - SELECT FROM - Consultas simples a uma Tabela - SQL Server
6:26
10 - T-SQL - SELECT FROM - Consultas simpl...
Bóson Treinamentos
112,782 views
How to Design a Database
10:57
How to Design a Database
Database Star
59,602 views
Copyright © 2024. Made with ♥ in London by YTScribe.com