Transcrições
1. Visão geral do curso: Olá e bem-vindo ao curso
SQL start Pat. Meu nome é Ran e eu
serei seu instrutor. Eu trabalho em um dos maiores bancos do
Reino Unido como analista de dados e
criei este curso para oferecer a você uma sólida
compreensão básica de SQL. SQL é uma linguagem
de codificação usada com
bancos de dados para recuperar, organizar e analisar E neste mundo tecnológico em constante
mudança, os dados estão se tornando cada vez mais essenciais para muitos tipos
diferentes de trabalho. Eu criei este curso
pensando nos iniciantes, então não é necessária nenhuma
experiência prévia. Passo a passo, explicarei
vários processos,
incluindo a recuperação
e a filtragem de dados
usando comandos SQL simples Classificando, agrupando e modificando dados para fornecer informações
poderosas, combinando tabelas para
criar novos conjuntos e também manipulando e adicionando dados às tabelas nos bancos de dados Esse
curso rápido e focado é perfeito se você está curioso sobre
SQL e o que ele envolve, ou talvez esteja mudando de
carreira e queira uma base de
conhecimento básica
de SQL ou, é claro,
queira apenas aprender SQL por diversão
ou até mesmo para se comunicar
com colegas experientes em tecnologia Seja qual for o motivo
para querer aprender SQL, ao
final deste curso, você
escreverá suas próprias consultas com confiança e terá um conhecimento
básico de como os bancos
de dados relacionais
2. Introdução ao SQL: Então, o que é SQL? SQL significa linguagem de consulta
estruturada. É uma linguagem poderosa usada
para interagir com bancos de dados. Os bancos de dados são como
armazéns digitais onde podemos armazenar, organizar e recuperar dados O SQL nos ajuda a fazer perguntas sobre esses dados e obter respostas
significativas. Deixe-me dar um exemplo rápido. Imagine que você está gerenciando um
banco de dados para uma loja virtual. Ele pode conter
tabelas para clientes, como nomes,
endereços de e-mail e números de telefone. Também pode conter
tabelas para seus pedidos. Então, o que cada cliente comprou, quando comprou e
quanto gastou. Se você quiser saber
qual cliente o maior pedido no mês passado ou quanta receita
obtivemos na semana passada, você pode usar o SQL para
responder a essas perguntas. Uma boa analogia em que gosto de
pensar é que, se o banco de dados é a biblioteca, o SQL é como o bibliotecário Você pode fazer uma solicitação e SQL recupera exatamente
o que você precisa Tudo o que você precisa saber é
como fazer a pergunta, que é o que
abordaremos neste curso. Uma coisa a se observar sobre
o SQL geralmente é chamada de SQL. Isso ocorre porque
o nome
original da linguagem era SQL, mas eles tiveram que alterá-lo
para SQL posteriormente. Então, se você ouvir alguém falar
sobre SQL como linguagem, eles estão falando sobre linguagem de consulta
estruturada. Bem, o SQL é importante
porque é uma das
formas mais comuns de gerenciar dados, e quase todas as
empresas ou aplicativos que lidam com grandes quantidades de
informações dependem dele Deixe-me dar alguns
exemplos em que o SQL é usado. Um uso muito comum
do SQL é por meio do comércio eletrônico. Então, empresas como a Amazon usam o
SQL para rastrear milhões
de pedidos e produtos. Outro exemplo é
por meio de finanças. Portanto, bancos e empresas de
investimento usam o
SQL para gerenciar transações
e contas. Um ótimo exemplo de uma plataforma usa muitas informações é, obviamente, a mídia social. Assim, plataformas como Instagram ou Twitter armazenam dados sobre postagens, curtidas e seguidores
em bancos de dados. Claro, também há
o exemplo da saúde. Assim, o SQL pode ser usado para gerenciar registros e
consultas de
pacientes com segurança. O problema, porém, é que o
SQL não precisa ser usado por um grande
conglomerado Também pode ser usado por pequenas empresas que
podem usá-lo para analisar tendências de
vendas ou até mesmo por amadores que o usam para organizar projetos
pessoais Em um mundo tão orientado por dados, sempre
haverá um uso para o SQL. Agora vamos falar sobre
quem pode usar SQL. Portanto, o SQL não é apenas para
programadores ou especialistas em tecnologia. Eu a classificaria como uma das linguagens
de codificação mais acessíveis Ele pode ser usado por analistas de dados para encontrar tendências e insights de dados ou profissionais de marketing que podem usá-lo para segmentar clientes
para campanhas direcionadas Ele pode ser usado por gerentes de
produto para analisar como as pessoas
usam aplicativos e produtos. E, é claro,
proprietários de empresas que talvez queiram monitorar o desempenho e
tomar decisões baseadas em dados. Mesmo que você seja novato em dados, SQL é uma habilidade que
pode diferenciá-lo. É fácil aprender o básico
e incrivelmente versátil. Além disso, está em alta demanda. Muitas descrições de cargos listam o
SQL como uma
habilidade essencial para funções de dados.
3. Bancos de dados relacionais: Nesta lição, exploraremos bancos de dados
relacionais, a base do gerenciamento de dados em quase todos Você aprenderá o que são, como organizam as informações e por que são tão eficientes para armazenar e recuperar dados Se você está rastreando pedidos
on-line, registros de
pacientes ou transações
financeiras, bancos de dados
relacionais
mantêm tudo estruturado, acessível
e seguro Então, o que é um banco de dados
relacional? Um banco de dados relacional é um sistema que organiza os
dados em tabelas, que se
parecem muito com planilhas que você veria Cada tabela contém linhas, que são
registros e colunas individuais, que representam atributos
ou pontos de dados
específicos para
esses registros. Por exemplo, a tabela de um cliente pode ter colunas para nome, e-mail e número de telefone. A mágica dos bancos de dados
relacionais está na capacidade de
conectar tabelas Em vez de duplicar
as informações em vários lugares, você pode armazená-las
em tabelas separadas e
vinculá-las usando SQL Então, vamos detalhar
os principais componentes de um banco de dados relacional Então, primeiro,
temos nossas mesas. Eles armazenam os dados reais. Portanto, cada tabela pode se concentrar em
uma parte do negócio, como os clientes, os
produtos ou os pedidos. O que você geralmente encontrará
nessas tabelas são chaves primárias. As chaves primárias são um identificador
exclusivo para cada linha em uma tabela. Por exemplo, na tabela de um
cliente, a coluna ID do cliente
garante que não haja dois clientes misturados, pois
eles terão um número exclusivo
atribuído à linha. E esse ID de cliente é uma chave
primária por causa disso. Além das chaves primárias, também
temos chaves estrangeiras. As chaves estrangeiras são colunas em uma tabela que fazem referência às chaves
primárias em outra. Por exemplo, uma
tabela de pedidos pode incluir a ID
do cliente para vincular cada
pedido a um cliente específico. Um componente chave final de um banco de dados relacional
são os relacionamentos Eles definem como
as tabelas são conectadas. tipos comuns de relacionamentos
incluem um para um, em que um registro na tabela corresponde a um registro na tabela B. Também
temos um para muitos em que um registro na tabela A pode corresponder a vários
registros na tabela B. Um exemplo, isso
pode ser um cliente pode ter muitos pedidos. Finalmente, há o relacionamento de muitos
para muitos. É aqui que
vários registros na tabela A podem se relacionar com
vários registros na Tabela B, como estudantes e cursos em que muitos alunos
podem fazer vários cursos. Então, por que os
bancos de dados relacionais são tão amplamente usados? Em primeiro lugar, eles são
incrivelmente eficientes. Bancos de dados relacionais
evitam redundância. Em vez de duplicar dados, você os armazena uma vez e os vincula conforme
necessário usando SQL Eles também são
incrivelmente precisos. Ao aplicar regras de
integridade de dados, como exigir
chaves primárias exclusivas, elas minimizam os erros Eles também são
incrivelmente escaláveis, então esses bancos de dados podem
lidar com pequenos conjuntos de dados, mas também podem ser
escalados para gerenciar milhões ou até
bilhões de registros E, claro, eles são
incrivelmente flexíveis porque podemos usar SQL neles, que significa que podemos criar
os dados de inúmeras maneiras, onde eles querem um único
registro ou um relatório complexo. Vamos pensar em um exemplo do mundo
real. Imagine uma loja de comércio eletrônico. Um banco de dados relacional pode
ter três tabelas principais, clientes para detalhes pessoais, pedidos para rastrear compras e produtos para estoque Ao conectar essas tabelas, a loja pode
responder rapidamente a perguntas como quais produtos um
cliente comprou no mês passado ou quanta receita veio de uma categoria de produto
específica? E, claro, podemos fazer
essas perguntas usando SQL. Então, para resumir, bancos de dados
relacionais organizam tabelas
interconectadas de dados, facilitando o armazenamento, o
gerenciamento e a gerenciamento e À medida que avançamos neste curso, veremos como o SQL atua como a linguagem que pode
liberar todo esse poder.
4. Tipos de dados: Tudo bem, bem-vindo.
Nesta lição, vamos nos aprofundar em um conceito fundamental em
SQL, que são os tipos de dados Os tipos de dados definem o tipo
de dados que uma coluna pode armazenar, sejam números,
textos, datas, qualquer coisa. Nesta lição,
exploraremos por que precisamos de tipos de dados, além de mostrar alguns
dos mais comuns que
encontraremos neste curso. Então, primeiro, por que os tipos de dados são importantes e por que eles são usados? Bem, o objetivo
dos tipos de dados é primeiro
garantir a precisão dos dados. Em segundo lugar, eles otimizam o desempenho do
banco de dados
e, em terceiro lugar, podem
impedir a entrada de dados inválidos Pense nos tipos de dados como
regras para seus dados. Eles garantem que você armazene o tipo certo de
informação em cada coluna. Por exemplo, você não
gostaria de armazenar um nome em uma coluna
destinada a números. Portanto, se você digitou acidentalmente um nome em uma coluna de preços,
ele não permitiria E essa é apenas uma
forma de garantir que a precisão dos dados
e, como eu disse, evite a entrada de dados
inválidos E também é importante notar que cada tipo de dados é otimizado
para o banco de dados. Portanto, certificando-se de que
cada tipo de dados esteja correto para a coluna, certifique-se de que sua tabela e
banco de dados estejam todos otimizados. Vou mostrar
alguns dos tipos de dados que você pode
encontrar neste curso. Então, se você olhar para esta
tabela, temos números inteiros, que significa números inteiros Temos números numéricos ou decimais, que significa números
com pontos decimais Temos texto ou RCR, que significa um valor de texto, você sabe, apenas, você sabe, palavras Temos tipos de dados e
horários, que são bastante O booleano é essencialmente
um tipo de dados que pode
ser verdadeiro ou falso Portanto, é bom para quando você está
classificando os dados. Se, você sabe, alguém
preencheu um formulário, você pode dizer verdadeiro, e se
não, você pode dizer falso. E, por último, um que
encontramos como serial, que é o
incremento automático E isso é muito útil
para fazer chaves primárias porque adiciona automaticamente outro número à próxima linha. Também quero aproveitar
esta oportunidade para falar sobre valores nulos Embora null não seja um tipo de dados, é algo que você
pode encontrar em tabelas E nulo significa basicamente a ausência de um valor ou
a ausência de um dado Portanto, não é o mesmo que um
zero ou um pedaço de texto vazio. Isso significa que
não há absolutamente nada lá. Portanto, se você não tiver
dados, eles
aparecerão com valores nulos
nas tabelas Mas sim, esse é um
resumo rápido dos tipos de dados. Apenas para resumir
os tipos de dados, defina quais tipos de dados podem
ser armazenados em uma coluna, e os valores nulos representam dados
ausentes ou desconhecidos E quando começamos a explorar
as tabelas em nossos bancos de dados, começamos a ver todos esses tipos de
dados em ação. Mas isso é tudo para esta lição. configuraremos Em seguida, configuraremos
nosso ambiente SQL,
então nos vemos lá.
5. Configurando o PgAdmin: Tudo bem. Neste vídeo, eu vou ficar bem. Neste vídeo. Tudo bem. Neste vídeo,
quero mostrar como podemos baixar e
configurar o postgres Tudo bem. Neste
vídeo, quero mostrar como podemos
baixar e
configurar o Postgres Post gescu Como se diz
isso? Pós-resgate. Tudo bem, então certo.
Neste vídeo, quero mostrar
como podemos baixar e configurar o PostGres Então, queremos acessar esse
link aqui ou esse URL aqui. Então é só
postgrsqal.org slash dnLodsah. E isso deve levar
você a esta página, e deve
levá-lo a esta página aqui. Então, dependendo do que
você está usando, sim, ****. Espero que eu
leve você a esta página aqui, e é aqui que vamos
baixar todo o nosso software Então, basta clicar no link. E dependendo do seu sistema de
software, dependendo do seu sistema
operacional, você clicará em um
desses links aqui. Então, no meu caso, é Mac. Então, vamos
continuar aqui, clicar
aqui e ir para o instalador de download.
Isso nos levará a isso. E agora isso o
levará a esta página aqui. E isso o levará
a esta página aqui. E o que vou fazer é baixar a versão mais recente Dependendo do que
você está executando, pode ser a segunda versão
mais recente. Basta dar uma olhada, mas dependendo disso, você será levado
a esta página aqui, e eu vou
baixar a
versão mais recente para Mac OSX E eu deveria
trazê-lo para esta página aqui, e agora
vou baixar a versão mais recente para
o
meu sistema operacional. Então, basta clicar
neste botão aqui. E isso baixará
a instalação e baixará
o software para você. E isso fará o download do software
de instalação. E isso será baixado e esperançosamente, iniciará o
download E isso deve iniciar
o download, onde
podemos instalar nosso software. E isso deve
iniciar o download do assistente de instalação. E isso deve
iniciar o download do assistente de instalação. Depois de fazer o download, vou clicar
em Baixar e executar este software aqui e ele
pedirá minha senha. Depois de digitarmos
isso,
esperamos ter nosso
assistente de instalação chegando. Lá vamos nós. E aqui e aqui está
nosso assistente de configuração. Então, vamos
clicar em Avançar aqui. E eu vou
escolher e esse é o diretório padrão.
Para mim, tudo bem. Você pode selecionar onde
deseja instalar isso. Ele vai clicar em seguida sobre isso. Em seguida, vou
baixá-los todos em seguida. Em termos de componentes, vou apenas mantê-los,
pois em termos de componentes, você pode simplesmente
mantê-los como padrão. Talvez você não precise do Stack
Builder, mas, para ser honesto. Em termos de componentes de
configuração, em termos de componentes,
deixe como está. Próximo. Da mesma forma se você quiser mudar para onde vai
seu diretório de dados, você pode mudar isso, mas vou
mantê-lo como padrão. E agora essa senha
é muito importante. Isso é o que usamos para realmente
entrar em nossos bancos de dados. Então, pode ser algo simples. Eu só vou usar a senha, e você pode usar a mesma. E para a porta,
vou mantê-la como padrão e a mesma coisa
com a localidade E vamos
deixar isso ser instalado. E vamos
deixar isso ser instalado agora. Não precisamos nos
preocupar muito com o destino dos
bancos de dados porque estamos apenas usando
tabelas em nosso sistema local. Como estamos apenas fazendo
consultas simples para este curso, não
precisamos nos preocupar
muito com a configuração Só precisamos colocá-lo em
nosso computador e executá-lo. Tudo bem, está tudo configurado, e ok, está tudo bem, está
tudo instalado para nós? Vou repetir
isso porque não
quero executar nada
e clicar em Concluir Agora posso acessar minha barra de lançamento
e tenho o administrador do PG aqui, além de algumas outras Agora, se eu for para minha barra de lançamento,
agora, se você ver na minha barra de lançamento, agora
tenho E agora, se você ver
na minha barra de lançamento, eu tenho o administrador do PG instalado, então eu posso simplesmente clicar nele agora Talvez ele faça algumas
verificações para você e poderá solicitar sua senha de
usuário mais uma vez Pode levar um
segundo porque é a primeira vez que você abre isso Talvez demore um
pouco para configurar. Então, vamos lá.
Finalmente, vamos lá. A tela que você deve ver
está começando a carregar e reiniciar. Então, vamos lá Então, vamos lá. Depois de
alguns instantes, espero
que
essa tela apareça e esteja apenas esperando o início do
PG Admin four E, como eu disse, talvez
você precise inserir sua senha
algumas vezes. E aqui vamos nós. Agora abri um PG Admin. Basicamente, não tenho nada na
minha tela, mas tudo bem, então esse é o PG
Admin todo carregado. Ok, então esse é o PG
Admin todo carregado. É aqui que vamos
passar nosso curso. Está bem? Isso é tudo. Tudo bem,
esse é o administrador do PG, todo carregado. É aqui que
vamos passar todo
o nosso curso agora, mas temos mais algumas
coisas que precisamos configurar Então, se formos para o explorador de objetos
esquerdo aqui e
clicarmos nessa seta, teremos alguns servidores. Então, vou usar o
PostGress SQL 17 aqui. E como você percebe, se eu clicar aqui, diz: Conecte um servidor,
digite a senha. É aqui que eu digito
a senha, que é, no meu caso, quando eu a configuro, senha, a palavra senha. Quer dizer, vou guardar isso porque não preciso me
preocupar muito com isso. Então, quando você abre seu PJM, você pode ver alguns servidores, um ou dois servidores Agora, se você clicar em um
deles e digitar a senha
que você colocou na configuração, no meu caso, era a senha, você acabará fazendo
login e terá todos esses logotipos aqui. Quando você souber pela primeira vez, se
olhar para a esquerda, terá um explorador de objetos com alguns servidores,
talvez um ou dois. Se você simplesmente clicar em um
deles e digitar senha que inseriu no seu. Se você olhar para a esquerda e
olhar para o Object Explorer, você pode ver
alguns servidores. E no meu caso, é
PostGRS SQL 16. Acabei de clicar aqui e
inserir minha senha que defini no meu assistente de
instalação Então, no meu caso, foi
apenas a palavra senha. Eu inseri isso e agora
tenho esse esquema. Depois de configurar tudo isso, você pode ter
alguns servidores. Portanto, você pode ter alguns
servidores instalados, então certifique-se de
escolher o correto e tente
algumas senhas. Realmente não importa
qual é, porque vamos criar um banco de dados
diferente de qualquer maneira. Talvez você tenha alguns servidores
instalados, dependendo de. Você pode ter alguns servidores
diferentes instalados, mas dê uma
olhada e experimente um diferente. Você pode ter alguns servidores
instalados, mas não se preocupe. Basta clicar nos dois. Talvez você
tenha alguns servidores
instalados, mas não se preocupe. Clique neles,
experimente a senha
e, se funcionar, esse é
o servidor certo. E depois de fazer
login, você deve ter mais
alguns logotipos
como esse chegando E o que
vamos fazer agora é criar um novo banco de dados. Então, basta clicar em
bancos de dados, criar banco de dados. E vou chamar
esse curso de SQL. E depois salve isso. E esse banco de dados é o
que vamos usar. E esse é o banco de dados
que vamos usar
ao longo do curso. Agora, está completamente vazio. Se descermos para os esquemas e
depois para as tabelas, podemos ver que não
há nada nele Então, como podemos realmente
adicionar tabelas a isso? Bem, o que podemos fazer
é clicar com o botão
direito sobre isso ir para a ferramenta de consulta. E não se preocupe
muito com isso . E não
se preocupe com isso. Vou explicar isso. Agora, não se preocupe com o que
tudo isso é ainda. então E então, tudo o que precisamos fazer é colar o código que eu
lhe dei na planilha E nesta caixa superior
aqui, na caixa de consulta
, há um pouco
onde podemos digitar colar o código que
eu lhe forneci. E nesta janela superior aqui, nesta janela superior aqui,
há um lugar para digitar. Basta colar o código que está
na planilha desta lição Deve ser
algo parecido com isso. Não se preocupe com o código. É só para criar algumas tabelas para usarmos em nossos exemplos. E eu simplesmente clicaria
neste botão de reprodução, executaria o script, e espero
que isso crie algumas tabelas Depois de colar isso,
pressione o botão play aqui, e espero que,
depois de colar esse código,
depois de colar esse código e pressionar o botão
play aqui
em cima,
ele
retorne dizendo: Que retornamos e pressionar o botão
play aqui
em cima, com e espero que,
depois de colar esse código,
depois de colar esse código e pressionar o botão
play aqui
em cima,
ele
retorne dizendo: Que retornamos com sucesso. Depois de colar
esse código em D. Depois de colar esse código e pressionar o botão play, espero que uma mensagem
apareça ******* hell Depois de colar esse código e pressionar o botão de
reprodução aqui, ele deverá
retornar uma mensagem
dizendo: Retorno da consulta com sucesso dizendo: Retorno da consulta Agora, não se
preocupe com nada disso. Por enquanto, não se
preocupe com o que
esse código envolve Você não precisa
trabalhar. Agora, não se deixe intimidar por todo esse código Isso serve apenas para
configurar o banco de dados, que você
possa
excluí-lo completamente e fechar essas janelas
pressionando essa cruz
aqui e
explicaremos tudo isso
em outras lições. Mas agora, se descermos
para, mas agora espero que, mas se voltarmos ao nosso explorador de
objetos à esquerda, clique com o botão direito do mouse no servidor Mas agora, se voltarmos
aos nossos servidores aqui e ao Object Explorer,
basta clicar em Atualizar, esperamos poder acessar nosso banco de dados do curso
SQL
e, em seguida, em tabelas,
ter tabelas gratuitas para e, em seguida, em tabelas, clientes Mas agora, se olharmos para
nosso explorador de objetos, mas agora, se voltarmos ao nosso explorador
de objetos à esquerda e
clicarmos com o botão direito do mouse no
servidor e atualizarmos, depois voltarmos ao nosso banco de dados do curso
SQL e depois aos esquemas, agora
devemos ter três tabelas E aí está, clientes,
produtos e vendas. E tudo isso está
configurado para o nosso curso. E depois, durante
o
resto do curso, usaremos essa
ferramenta cremosa, então vou continuar E tudo isso está
configurado para o curso. M
6. SELECIONE: Tudo bem, agora que
estamos prontos, vamos pensar em como podemos
realmente começar a usar o SQL Então, o que vou fazer é acessar meu banco de dados aqui, curso de
SQL e
abrir uma ferramenta de consulta. E isso
abrirá a ferramenta de consulta, e temos duas janelas aqui. Nossa janela superior é onde
podemos inserir nosso código, nosso código SQL, e
a janela inferior é onde os resultados desse
código serão exibidos. Agora, se eu for para o meu curso de
SQL e
descer para esquemas e
tabelas, como você pode ver, você tem
três tabelas carregadas:
clientes, produtos e vendas Você deveria ter
o mesmo também. Como colocamos, por exemplo, tabela de
nossos clientes em nossa folha de resultados aqui
na janela inferior? Bem, nosso primeiro passo é
escrever o código a seguir. Escrevemos uma seleção e
escrevemos a partir de Agora, essas duas palavras-chave são
incrivelmente importantes para o SQL. Basicamente, eles compõem a
estrutura de qualquer código SQL. Depois de entender
essa estrutura
básica das palavras-chave select
e from, você pode começar a adicionar filtros
e coisas do tipo,
o que faremos em
outras lições Mas, por enquanto, essa
é nossa consulta básica. Então, o que essas duas palavras-chave significam? Vamos começar com select. A opção Selecionar nos ajuda a definir quais
colunas queremos de uma tabela. Então, por enquanto, vamos
digitar o asterisco. Essa tecla de asterisco ou estrela
basicamente diz ao software selecione cada coluna Essa chave de estrela é muito útil e é
útil o tempo todo Então, o que esse
código significa até agora? Temos a primeira linha,
que é selecionar todas as colunas, e depois a terceira
linha, que é de. Agora, a palavra-chave from apenas informa ao software de qual tabela queremos extrair
os dados Temos mesas gratuitas,
temos produtos e vendas para clientes. Então, vamos lá, clientes. Usaremos as tabelas
dos clientes. E esse é essencialmente
nosso primeiro código SQL. E se eu ler isso
novamente em inglês simples, o que temos aqui é selecionar todas as colunas da tabela do
cliente. E para finalizar essa consulta, o que vamos fazer
é adicionar um ponto e vírgula Não é necessário, mas é uma
boa prática adicionar um ponto e vírgula no final da consulta ou
do código Para esclarecer, você pode realmente executar isso apenas em uma linha,
mas, para maior clareza, estou apenas executando em
três linhas para que você
possa ver a separação de
cada parte desse código. Agora, como realmente
executamos essa pequena consulta? É muito simples,
basta acessar este botão de reprodução aqui
e clicar nele. Ou, se você for chique, pode usar a tecla F cinco. Eu
só vou clicar nele. E assim,
temos a mesa do nosso cliente. É realmente tão simples quanto isso. Agora, se você quiser
exportar isso, basta
entrar aqui e dizer Salvar resultados em arquivo, e ele o salvará como um CSV para Excel ou qualquer
software que você possa usar Agora, e se não quiséssemos a tabela
completa em exibição aqui? Queremos apenas o nome e sobrenome de cada
cliente que temos? Bem, vamos
detalhar isso. A terceira linha não
muda porque
ainda estamos usando a tabela desse
cliente, mas não vamos
selecionar todas as colunas, então não vamos
usar esse signo aqui. Em vez disso, o que vamos fazer é simplesmente definir quais colunas queremos usar
digitando as
colunas que queremos Então, primeiro nome e depois
separados por vírgula, temos o sobrenome E, novamente, se
executarmos de forma tão fácil, teremos nosso nome
e sobrenome como um conjunto E, novamente, podemos
exportar isso para o Excel. Agora, você provavelmente já
pode ver como isso é legível como um código Você precisa selecionar a coluna do
primeiro nome e a coluna do sobrenome na tabela do cliente.
Realmente simples assim. Se você não tiver certeza de quais
colunas residem em uma tabela, você pode
selecionar o signo e simplesmente puxá-lo para cima e ver
quais colunas você deseja, ou você pode ir
até o Object Explorer, acessar nossas tabelas aqui, e temos uma coisa aqui chamada colunas e você pode
realmente ver cada coluna aqui. Se você não quiser começar
a fazer
consultas apenas para ver
a tabela completa, basta ir
para a esquerda e dizer:
Ok, quero selecionar,
digamos, e-mail, vírgula e sobrenome
da tabela de clientes Podemos executar isso
e pronto. Muito simples.
7. Usando aliases: Agora vamos falar um
pouco sobre aliases. Então, o que eu tenho aqui é apenas a coluna de nome
e sobrenome da tabela do cliente e basta executar essa consulta e
aqui está o conjunto de resultados. Como você pode ver, os resultados dos nomes das colunas são
exatamente os esperados. Eles são iguais aos que
estavam na mesa original do
cliente. Agora, o que podemos fazer, porém, é adicionar essa pequena
palavra-chave aqui chamada as, adicionar algumas
aspas duplas e alterar o resultado. Então, se eu fizer isso, é mais fácil
mostrar a você, para ser honesto. Então, eu vou executar isso. Então, vamos
mostrar isso rapidamente. Este é o infelizmente aqui.
Temos como e, em
seguida, entre aspas duplas, o
primeiro nome do espaço. Portanto, observe que isso
não tem um espaço
na parte inferior do conjunto de resultados
original. Se eu executei isso agora, podemos ver que isso mudou
nos resultados definidos aqui. Portanto, agora é o primeiro nome do espaço. E, novamente, eu poderia
simplesmente capitalizar isso e executá-lo novamente. Lá vamos nós. Está em maiúsculas e
é realmente muito simples. Podemos simplesmente adicionar um alias. Mas o que é importante observar é que isso não altera
a tabela original. Isso apenas altera os resultados
definidos na janela inferior. Portanto, nada será alterado
na tabela do cliente. É só nessa
consulta que podemos fazer isso. Então, o que
vou fazer é fazer o mesmo novamente o sobrenome e mudar
isso. aliases são realmente ótimos porque
permitem melhorar
a legibilidade de um conjunto de resultados, e isso significa que
você não está preso a nenhuma tabela Os aliases são realmente ótimos
porque
permitem melhorar
a legibilidade de um conjunto de resultados,
e isso significa que
você não está preso a nenhuma tabela
aqui. As colunas são chamadas aqui. Às vezes, eles não são tão amigáveis quanto você
gostaria que fossem. Não são permitidos espaços
nesses nomes de colunas. Assim, você pode alterar
isso e torná-la uma
tabela muito melhor que pode ser exportada
para o Excel ou qualquer outra coisa E, claro, você
pode misturar e combinar. Se adicionarmos isso
novamente no e-mail. Nem tudo que
você usa precisa ser um pseudônimo. Você pode mantê-lo
assim. Ou, novamente, você pode adicionar isso como,
digamos, E dash Mo em vez disso E aí está.
É simples assim. Portanto, é apenas mais uma
palavra-chave entre aspas duplas
e, como quiser chamar sua coluna no conjunto de resultados,
você pode fazer isso.
8. Usando o DISTINCT: Vamos falar um pouco sobre
a palavra-chave distinta agora. Então, o
que eu fiz foi pegar todas as colunas
da tabela de produtos. Então, estamos mudando
da
tabela do cliente para a tabela de
produtos aqui. Então, como você pode ver, se olharmos essa tabela, teremos uma coluna
chamada categoria. Agora, isso tem várias
entradas do mesmo tipo. Então, temos eletrônicos
três vezes, acessórios algumas
vezes, etc., etc E se quiséssemos uma
maneira de nos
mostrar apenas as linhas ou
entradas exclusivas dessa coluna? Bem, é aí que podemos
usar a palavra-chave distinta. Então, o que podemos fazer
é digitar isso corretamente. Podemos usar essa palavra-chave
distinta e depois escolher uma categoria distinta. Essa é a coluna na qual
usaremos
essa palavra-chave distinta. Se eu executar isso, receberemos
quatro entradas de volta. Temos móveis,
eletrônicos, acessórios
e calçados Isso significa que
temos quatro entradas exclusivas na coluna
de categorias na tabela de produtos. Então, se eu voltar e realmente
olhar para esta mesa. Isso parece quase
certo. dez linhas reais na tabela. Mas se olharmos e
fizermos uma contagem regressiva, na verdade só temos
quatro coisas únicas. Temos eletrônicos,
móveis, calçados
e acessórios Portanto, é uma maneira rápida de simplesmente
examinar uma tabela e mostrar as entradas exclusivas em uma linha ou coluna, desculpe. Se fizéssemos isso com
o nome do produto, provavelmente
ele ainda voltaria com dez linhas, porque cada um desses produtos
tem um nome diferente. Mas vamos tentar de qualquer maneira,
só para te mostrar. Então, como esperado, temos dez entradas porque cada nome de
produto é distinto. Eles são diferentes um
do outro. Portanto, a
palavra-chave distinta não funciona com todas as colunas. Ele simplesmente funciona com
coisas como categorias ou talvez como países de
clientes, cidades de clientes,
coisas assim. Em seguida, você pode entrar e ver quais cidades ou quais
entradas são exclusivas, e isso pode ser útil para qualquer coisa que você esteja fazendo
com sua análise de dados. Então, sim, é basicamente
isso mesmo. A maneira como você o escreve é apenas
na parte selecionada da consulta, distinta, e depois basta selecionar a coluna que
deseja verificar. Então, novamente, vamos
apenas fazer a categoria. E então isso apenas
seleciona as entradas distintas dentro dessa coluna de categoria
na tabela de produtos E o que é muito legal
nisso, novamente, podemos usar o que
aprendemos até agora e
criar um alias para essa coluna e
chamá-la de categorias exclusivas E nós executamos isso.
Em seguida, temos uma boa tabela aqui com
apenas categorias exclusivas. Então, espero que isso faça sentido. Não é algo que
você usaria todos os dias, mas é uma ótima ferramenta web. Se você precisar, é perfeito.
9. Adicionando comentários ao código: Então, executamos um pouco de código, mas agora eu só
quero mostrar como podemos adicionar comentários
a esse código. Agora, comentários são
coisas que você pode escrever e que não
afetam o código em nada. Então, se você quiser adicionar notas para talvez desenvolvedores ou
notas para você mesmo, talvez dentro do código, você pode fazer isso, e isso não
afetaria o código em si. Os comentários são algo
que eu uso o tempo todo, porque à medida que
você usa códigos cada vez mais
longos e um pouco mais complicados, talvez queira começar a
adicionar comentários e coisas que ajudem a
esclarecer qualquer parte do código. Os comentários são muito úteis
se você estiver trabalhando em um
ambiente colaborativo, pois você pode escrever um trecho Você pode adicionar seus comentários
para ajudar a esclarecer isso para a próxima pessoa que
possa assumir algum trabalho. Assim, você pode deixar notas
para a próxima pessoa, mesmo que ela esteja apenas
executando o código, você pode simplesmente mostrar a ela com
comentários o que está acontecendo. Então, como escrevemos comentários? Bem, não poderia
ser mais simples. Literalmente, são apenas
dois traços desse tipo. Agora, esses dois traços permitem que você adicione um comentário para uma linha Então, se eu adicionar um comentário
aqui,
isso significa apenas , digamos assim. Mas se eu pressionasse
Enter e adicionasse qualquer outra coisa, isso na verdade faz parte
do código porque está
em uma linha diferente. Portanto, os dois traços são
um comentário apenas em única linha. E,
novamente, eu posso fazer isso de novo. Aí está. Então, você já poderia enviar isso
para alguém e essa pessoa provavelmente
entenderia
o que estava acontecendo. Então, esses dois traços
significam apenas que é comum. E como você pode ver, o PG
Admin o pinta em verde. Agora, o que temos
aqui é apenas a sintaxe um
comum de várias linhas É bem simples. Então, na
verdade, são duas metades. Então, se eu
separar isso, você pode ver como funciona. Então, temos uma barra, uma barra
para frente
e, em seguida, o asterisco
ou signo, e então podemos adicionar
o que quisermos E isso é diferente dos dois traços aqui
porque você pode fazer isso em quantas
linhas quiser E depois de
terminar o comentário, basta fazer basicamente o
contrário do que está aqui em cima. Você faz o início e
depois a barra no final. E é muito útil
porque você pode adicionar, digamos, títulos aqui, instruções, instruções mais longas que você pode adicionar. Algumas pessoas fazem arte de aski
na parte superior do código, coisas assim. E
é muito útil. E você verá muito isso em nossos exercícios que
fazemos neste curso. Os comentários também são muito úteis quando
você está escrevendo código ou apenas
deseja alterar rapidamente o código sem realmente
excluir nada Então, por exemplo, se eu quiser
alterar a instrução select, posso simplesmente comentar essa seleção e depois
alterá-la para o asterisco E lá vamos nós. Isso me dá todas as colunas conforme o esperado, porque
tudo isso está comentado. Mas isso significa que eu não
excluí nenhum código. Acabou de ser
colocado temporariamente em um comentário. E então, se eu terminar com isso, posso excluí-lo e executar novamente o código para o
que eu selecionei Novamente, muito útil e
economiza muito tempo, que você precise, você sabe, excluir isso, executá-lo
e, potencialmente, se
você não copiou e colou, escrever tudo de novo Sim, então isso é tudo para comentários.
10. Operadores aritméticos: Tudo bem. Nesta
lição, quero falar sobre operadores aritméticos Portanto, esses operadores são
muito, muito úteis
quando você está trabalhando com dados e deseja realizar cálculos simples ou
complexos
com os dados da tabela. Neste vídeo,
mostrarei as noções básicas
de como você pode começar a usar esses operadores
na tabela de produtos Agora, se você observar as
duas últimas colunas nesta tabela, podemos ver que temos
duas colunas com os tipos de dados
numéricos e inteiros Esses dois tipos de dados funcionam
com operadores aritméticos. Eu realmente quero enfatizar
isso porque, apesar talvez
haver
números nas linhas,
isso não funcionaria a menos que
os tipos de dados estivessem corretos, então você precisa de algum tipo de dados
numérico. Não funcionaria com caracteres
variados,
sequências de caracteres , coisas assim Mas, para nosso bem, a
mesa parece boa. Temos números nas linhas e temos os
tipos de dados corretos. Na verdade, podemos fazer algumas operações
aritméticas sobre isso. Eu tenho uma lista desses
operadores que podemos usar. Agora, talvez os
dois primeiros sejam bastante óbvios. Temos Adam subtraído, mas também usamos a
estrela para multiplicar E a barra para dividir. E, finalmente, o
sinal de porcentagem, que é um módulo, o que significa que ele retorna o restante de um
número dividido por outro Vamos
passar por tudo isso, então não entre em pânico se você estiver
um pouco sobrecarregado Agora, como realmente usamos
esses operadores no código? Bem, primeiro,
vamos nos
livrar de qualquer coisa
na instrução select e vamos colocar
parênteses, então E dentro desse parêntese,
vamos realmente fazer
nosso pequeno cálculo Vamos começar com
o operador de adição. Então, temos uma vantagem aqui. E por causa disso,
vamos colocar isso aqui. Temos nosso operador
entre parênteses. Agora, basta
adicionar as informações que
informam ao programa quais são as
duas colunas que
queremos somar. Portanto, neste caso, queremos adicionar preço e
adicionar quantidade de estoque. Adicionar o preço à
quantidade de estoque pode não ser muito útil em termos de
um caso de uso real, mas vou apenas
mostrar o que isso realmente faz. Então, se você apenas executar esse
código, vamos lá. Agora observe que
não há nome de coluna para isso. Está apenas nos dando os
cálculos e nada mais. Não é muito útil. O que podemos
fazer é adicionar novamente
essa estrela com uma vírgula, e isso
nos dará todas as colunas que estão na tabela mais esse cálculo extra
que adicionamos E lá vamos nós.
Agora, como você pode ver, temos nossa tabela normal
mais essa coluna extra, que é nossa
coluna calculada que adicionamos. Se realmente observarmos os
dados nessa coluna, podemos ver que é de fato a soma dessas duas colunas aqui. E, claro, o que
podemos fazer é adicionar um alias a isso e podemos
chamá-lo de soma, por enquanto Acabei de executar isso de novo
e pronto. Agora temos um nome
para essa coluna. Novamente, podemos fazer
a mesma coisa
mudando nosso operador e
apenas tornando-o um sinal negativo Basta pegar essa legenda. Execute isso novamente. E, novamente, temos nosso cálculo
nesta coluna aqui. E, novamente, podemos fazer
isso com a estrela. E isso é realmente
muito bom
porque é o preço
multiplicado pela quantidade do estoque, que pode ser o valor do estoque. que, na verdade, é
um bom cálculo para adicionar a esta tabela. Isso nos mostrará
o valor total dos produtos que
temos em estoque. Então, esse já é um caso de uso muito útil
para esse operador. Então, se seu chefe estava
perguntando, você sabe, quantos
mouses sem fio temos? E, tipo, qual é o valor
total disso? Em estoque, você pode fazer
esse cálculo rapidamente e
enviá-lo para eles. Novamente, poderíamos simplesmente
mudar esse operador para dividir
o preço
pela quantidade de estoque. Vou chamar isso de
dividido. E lá vamos nós. Novamente, não é muito útil
em termos de saída, mas estou apenas
tentando demonstrar o próprio operador real. Agora, o módulo é um
pouco estranho. Não é algo que eu uso muito e pode confundir as pessoas. Então, basicamente, o que
é, produz o restante do preço, neste caso,
dividido pela quantidade de estoque Então, temos 25/100. Agora, isso
na verdade não se divide, então temos um
restante de 25 99 Novamente, é
um pouco estranho. Então, neste exemplo, vamos encontrar um
que realmente tenha um resto diferente Sim, então 70/40. Entendemos que pode
entrar quando você conseguir 40 e depois 30
restantes é igual a 70 Então, é basicamente
um resto. Agora, o interessante
dessas operações é que você não precisa usar duas colunas para realmente
fazer cálculos. Na verdade, podemos
simplesmente saber, usando números,
calcular novos valores. Por exemplo, digamos que seu
chefe, por algum motivo, disse: Ah, tivemos um cliente que
comprou dez de tudo, então precisamos remover dez
da quantidade em estoque. Podemos fazer isso simplesmente usando nossos colchetes
aqui primeiro e apenas colocando a quantidade de estoque,
comida para viagem, menos dez. Deixe-me dizer
isso como um novo estoque. Quero dizer, se executarmos isso,
temos um cálculo aqui da quantidade de
estoque menos dez Faz sentido, mas eu só quero te mostrar que
você não precisa fazer,
você sabe, quantidade de estoque
menos preço ou qualquer coisa Podem ser apenas números. E por qualquer motivo,
você também pode fazer cálculos simples. Se você quiser usar apenas dois
números, você pode adicioná-los. Talvez seja um
número de identificação ou algo parecido. Mas, sim, você não
precisa de colunas para elas, mas
provavelmente acabaria usando algum tipo de
coluna em seus cálculos. E, claro, você pode fazer
vários cálculos. Então, digamos que temos
esse colchete interno aqui, também
vamos
colocar os tempos de preço E então, digamos que
queremos adicionar mais
alguns colchetes
porque eu gosto de colchetes Eles ajudam a compartimentar
as coisas para Hum, desculpe. Temos nossos
colchetes internos aqui. Podemos então adicionar, digamos, 50 a isso, 30, desculpe. Sim, um exemplo. Isso vai funcionar. Portanto, temos nossos tempos de
preço em dois mais 30. Por qualquer motivo, se isso é algo que você precisa
fazer, você pode fazer isso. Portanto, você nem precisa
fazer um cálculo. Você pode fazer quantas vezes quiser,
mais 40, dividir por 20, digamos,
você sabe, podemos ficar tão loucos quanto quisermos, e isso pode ficar confuso porque eu estou
usando muitos colchetes,
mas isso é algo que eu
gosto de fazer porque isso me ajuda a detalhar quais
cálculos estão acontecendo Temos preço multiplicado por dois em sua própria faixa pequena, mais 30 Podemos colocar isso
entre colchetes, se quisermos. Isso é meio que coisa própria.
E depois, mais 2022/20, esse é seu pequeno cálculo. Então, sim, algumas pessoas podem
não gostar de fazer isso, mas eu gosto de fazer
isso porque me permite compartimentar o tipo de adições que estou fazendo
ou E também, às vezes ajuda com
o código real, você sabe. Às vezes, o código pode
não saber o que fazer com números e cálculos se você não o tiver entre colchetes. Mas sim, vamos pensar em um caso de uso
real para isso. Então, digamos que temos um
desconto de 10% em todos os nossos preços. O que podemos fazer é
começar primeiro com nossos parênteses, preço, dividir por 100 e isso
nos dará 1% do preço Podemos então multiplicar isso por 90. Novamente, só para meu bem, na
verdade, eu só quero
colocar isso entre colchetes, e podemos dizer que,
como o novo nome, 10% de e
vamos executar isso e
observar o que acontece Temos um
desconto de 10% em nosso preço. Agora, como você pode ver,
temos muitos zeros nisso. Às vezes, isso pode acontecer
quando você está dividindo certos tipos de dados ou trabalhando
com determinados tipos de dados. Da mesma forma que, às vezes,
números inteiros e tipos de dados numéricos funcionam,
eles podem não ser tão eles podem não Agora, o que podemos fazer
é um pouco de bônus. Podemos usar a função redonda. Vou colocar
isso entre colchetes também. E o que podemos fazer,
vou escrever isso e
te mostrar. Isso limpa tudo.
Então, o que está acontecendo? A função redonda
é essencialmente arredondar nosso número Estamos arredondando algo, então vou colocar isso
no cálculo de colchetes. E então definimos para qual ponto
decimal queremos. Essa é a sintaxe se
você quiser usá-la. Arredonde entre colchetes
o cálculo
e, em seguida, uma vírgula e defina a
precisão desejada Digamos que queremos o preço seja, por algum
motivo, dez casas decimais Nós podemos fazer isso. Lá vamos nós. Nós temos tudo isso. Então, se nós, você sabe, fôssemos
até 100 decibéis, se realmente quiséssemos fazer
isso, poderíamos fazer isso, mas, você sabe, provavelmente
não é necessário Mas isso provavelmente é
informação suficiente por enquanto. Faça uma pequena bagunça e
brinque com isso Acho que esse é o melhor
conselho que posso te dar. Você não vai
aprender
simplesmente me vendo
mexer com coisas. Eu acho que é muito importante que você comece a
mexer com as coisas. Fornecerei uma
planilha na qual você pode realmente começar a trabalhar
e responder a algumas perguntas Mas, por enquanto, faça
uma pequena bagunça. E essa é uma diretriz básica
para operadores aritméticos.
11. Ordenar por: Olá, e bem-vindo de volta
a outra aula. Nesta lição,
mostrarei como
podemos classificar nosso conjunto de resultados. Isso pode ser muito útil
se você quiser
classificar seu
conjunto de resultados para exportação, digamos que você quer algo
alfabético, você pode fazer isso, ou se você quer algo com um preço
alto ou baixo, você também pode
fazer isso E eu vou
te mostrar como você faz isso agora. Então, agora, acabamos de
obter todas as colunas da tabela de produtos e não vamos fazer nenhum filtro ou
algo parecido. Vamos nos
concentrar em como podemos classificar isso em um
pedido personalizado para nós mesmos. Tudo o que precisamos fazer
para começar a organizar esses dados é simplesmente,
no final desse código, digitar a ordem B.
Essa é a nossa declaração, na qual podemos definir pelo que queremos
ordenar nossos resultados. Então, neste exemplo, vamos ver ordená-lo por categoria Então, vamos
digitar a coluna pela qual
queremos organizá-la. Agora temos a opção
de classificá-lo de alto para
baixo em ordem alfabética ou de baixo para alto em ordem alfabética E é isso que essas
duas opções estão aqui. Então, podemos colocar ascendente, então ASC ou descendente, DESC Nesse caso,
vou fazer a subida, só para mostrar como fica E se eu executar isso,
como você pode ver, não mudou nada em termos dos dados que
estão sendo produzidos, mas mudou
a ordem deles. Então, agora temos uma categoria,
a categoria da coluna. É tudo ascendente alfabético. E, inversamente, se
fizéssemos isso descendo, agora é o
contrário Então, quanto mais adiante, o
alfabeto começa no topo e depois volta ao início
do Se fizéssemos isso com preço
e tipo de dados numéricos, e apenas executássemos esse
preço ascendente Ele classifica o preço de baixo para alto. E então o
preço decrescente é de alto a baixo. Da mesma forma que você sabe, se estiver fazendo compras on-line, você pode fazer sua classificação por preço
decrescente ou crescente A mesma coisa que poderíamos fazer
aqui com nosso código. E, claro, você pode fazer isso
com qualquer coluna que quiser. Mas o que é muito legal é
que você pode fazer vários pedidos. Então, vamos voltar à categoria. Então isso é uma corrida.
Então, acabei de executar essa ordem por categoria crescente e, obviamente, começa com A, e vamos
descendo em ordem alfabética Mas e se
quiséssemos ir mais longe e adicionar outro pedido? Então, se você olhou
na seção de eletrônicos, temos preços que são
meio que Hickory Pigoty.
Eles não são realmente organizados. O que podemos simplesmente fazer é adicionar uma vírgula e depois
adicionar uma segunda ordem Então, vamos fazer o preço decrescente. E se fizermos isso e
executarmos, primeiro obteremos nossa categoria. Organizamos de A a Z
e, em segundo lugar, dentro dessas categorias, fizemos outro pedido, que é o preço decrescente Então, temos o preço mais alto no topo e ele cai. E esse é o
básico para ordenar e classificar seus conjuntos de dados Você poderia
adicionar um terceiro ou quarto ou
quantas compras de pedidos, mas acho que, para ser honesto, começa a ficar um pouco
limitado, porque se você está pedindo algo
primeiro
por categoria e depois
dentro desse preço, ainda
há alguma flutuação Talvez
você possa adicionar
um terceiro pedido,
por exemplo, neste caso, não
poderíamos realmente fazer muito Talvez pudéssemos fazer o pedido
por quantidade de estoque, mas, infelizmente,
se fizéssemos
isso, isso mudaria
a ordem do preço. Não seria capaz de ser ordenado por via ascendente. Então, é uma espécie de hierarquia. Começará com a categoria e depois
entrará no preço Se houver mais
alguma coisa que possamos classificar,
você poderá adicioná-la. Mas, nesse caso, só
podemos realmente fazer duas. E se você estiver executando essa
consulta com filtros e outras coisas, com uma cláusula Ware, esse recurso de ordenação por será
exibido no final disso Então, estamos fazendo toda
a filtragem primeiro e depois ordenando as coisas no final da consulta Assim, você pode basicamente
criar seu código, fazer tudo funcionar
e, no final, adicionar seu pedido por
categoria crescente e depois por categoria crescente e depois preço decrescente ou
o que quiser fazer Mas sim, a
sintaxe básica é ordenar por e depois colocar a coluna, onde você quiser, e depois ascendente ou decrescente E é basicamente
isso. Muito simples.
12. ONDE: Analisei como podemos
usar operadores aritméticos, mas agora quero falar
sobre como podemos realmente filtrar nossos resultados Essa é uma das formas mais
poderosas e úteis usar o SQL como iniciante, e usar a filtragem
é algo que você faz todos os dias se
estiver usando o Então, vamos falar sobre como
podemos filtrar os resultados. Então, agora, selecionei todas as colunas
da tabela do cliente. Até agora, essa estrutura
deve ser bem familiar. Temos a
função select e a função F. Vamos adicionar
uma terceira após o F chamada W. Essa
é a cláusula Ware E é aqui
que definimos como queremos filtrar nossos resultados
na janela inferior. E é aqui que a lista de operadores será útil. Vamos nos
concentrar apenas neste primeiro, que é igual a,
que é um sinal de igual. Então, como filtramos nossos resultados? Começamos com a cláusula Ware, mas o que fazemos
aqui depois Primeiro, vamos pensar no
que queremos filtrar. Neste primeiro exemplo, tudo o que eu quero fazer é filtrar cada cliente que tem
o primeiro nome John. Portanto, nesta cláusula Ware, tudo o que
precisamos fazer é definir qual coluna queremos
filtrar. Então, primeiro nome. E então é igual, e
entre aspas simples,
colocamos o que
queremos filtrar Então, se eu executar esse código, recuperamos o primeiro nome John. Portanto, essa é a única linha em toda
a tabela em que o
primeiro nome é igual Agora observe o que eu faço se eu
mudar isso para um J sem maiúscula Nada aparece. Isso porque isso na citação
diferencia maiúsculas de minúsculas Então, isso é algo
que você deve conhecer. E é assim que você
filtra as coisas. E essa é a
sintaxe básica da cláusula de reconhecimento. Temos que definir primeiro qual coluna estamos filtrando
e como estamos filtrando E, claro, podemos fazer esses filtros em qualquer uma das colunas. Então, digamos que queremos encontrar o ID do cliente
que é o número quatro. Então, basta digitar e selecionar
todas as colunas dos clientes em que ID
do cliente é igual E como essa coluna é um tipo de
dados numérico, você não precisa necessariamente
colocá-la entre aspas simples Então, se eu executar isso, sim,
nós temos isso de volta. E, claro, se ainda o
colocarmos entre aspas simples,
ele ainda funcionará. No entanto, se tentarmos fazer isso
com o primeiro nome, assim como antes,
vamos executá-lo, e isso deve voltar
com o primeiro nome John. Se não tivéssemos
isso nas aspas, sim, estamos recebendo um erro
porque ele não existe Temos que colocá-lo entre aspas. Portanto, pelo menos no PGDBin,
você precisa colocar aspas
simples ao
filtrar colunas baseadas em texto E por colunas baseadas em texto, quero dizer os próprios
tipos de dados reais. E é assim que você faz
sua filtragem básica. Agora, o que temos
aqui são alguns
dos diferentes operadores que podemos usar com esses filtros. Então, já abordamos a igualdade, e isso é bastante óbvio. É quando algo é
igual ao que você digita. Em seguida, temos maior
que, menor que. Então, se eu digitar, novamente, ID
do cliente é,
digamos, maior que três Isso resulta em todos
os IDs de clientes maiores
que
três, conforme o esperado. E, claro, se calculássemos isso como menos de três,
obteríamos um também. Agora, esses dois símbolos não incluem o número que você digita, então é maior que três,
não inclui grátis
e, claro, menos de
três não inclui três. Mas se você quiser incluir
isso em seu conjunto de dados, você pode usar, digamos, maior que igual a. Então, isso será tudo
maior do que três, mas também inclui gratuitamente. E da mesma forma, menos de
três ou igual a grátis. Ele o filtra nesse sentido. E, finalmente, um bom de
usar às vezes é este aqui, onde você coloca um ponto de
exclamação antes do sinal de igual E isso significa selecionar
todas as colunas das tabelas de clientes em que a ID
do cliente não seja três. E, como você pode ver, temos todas as IDs de
clientes da tabela, exceto
a ID de
cliente gratuita. O interessante
é que, quando você começa a filtrar mais do que e menos do que filtros no texto, é que isso
começa a ser feito em ordem alfabética Então, quando você tem coisas
que são menores do que João, você tem coisas que estão
antes de João em ordem alfabética
e, da mesma forma, maiores Ele terá os primeiros nomes que vêm depois de John em ordem alfabética, que é bastante útil e uma
maneira bastante interessante de E, claro, se você
adicionar o sinal ecológico a isso, ele incluirá John
em seu conjunto de resultados. E isso
abrange os conceitos básicos da
filtragem de dados usando SQL Meu conselho é começar a mexer
nessas tabelas, mexer nas cotações
e ver o que funciona e
o que não funciona com
diferentes tipos de dados, e ter uma ideia
13. Usando operadores lógicos E/OU: Certo, na lição anterior,
vimos como podemos começar a filtrar nossos resultados
usando a cláusula Ware Isso é ótimo e muito útil, mas é bastante
limitado porque você só
pode executar um filtro. Então, nesse caso, estamos
executando um filtro em que
encontramos o primeiro nome e o
primeiro nome deve ser John. Então, se executarmos isso,
obteremos nosso resultado. Recebemos John Doe, e esse é o ID de
cliente número um. E isso é ótimo, mas é bastante limitado, porque e
se quisermos começar
a filtrar as coisas
pelo nome e sobrenome Porque pode haver vários
johns em nosso banco de dados, mas estamos
procurando um John específico Bem, é aí que
podemos começar a usar essas palavras-chave aqui. Esses são apenas operadores
lógicos que podemos usar
dentro do filtro, o que parece assustador,
mas na verdade não é E, honestamente, a melhor maneira de
aprender sobre
isso é mostrando a você Então, vamos começar
com isso e com a palavra-chave aqui. Então, o que isso e
a palavra-chave fazem
é essencialmente dizer ao filtro que uma segunda cláusula precisa ser cumprida para
produzir um resultado Então, vamos dar uma olhada.
O primeiro nome é John e, nesse caso, o
sobrenome é Doe. Então, se fizermos isso, ainda
obteremos nosso resultado
porque o primeiro nome é John e o sobrenome é
Doe, e isso está correto Mas digamos que se eu mudar esse
nome para outra coisa, digamos, John Smith. Agora, isso não
existe em nosso banco de dados. Apesar do primeiro nome John, isso existe porque o
temos aqui. Não há nenhuma entrada em nosso
banco de dados que tenha o primeiro nome John e o sobrenome
Smith. Então, vamos lá. Eu executei o roteiro e
nada voltou. Portanto, a palavra-chave and
é essencialmente outro filtro dentro
desse primeiro filtro. Portanto, a palavra-chave e basicamente
diz ao software que isso e isso
precisam ser verdadeiros
para produzir um resultado. Por outro lado,
temos a palavra-chave O. É aqui que qualquer uma
delas pode ser correta e produzir um resultado. Então, se eu executar isso agora, não
fará diferença porque o primeiro nome é John ou o sobrenome é Doe.
É a mesma fileira. É o mesmo ponto de dados. No entanto,
mudei o script
e, na verdade, adicionei uma cláusula
or do primeiro
nome igual a Então, se eu executar isso agora,
obteremos dois resultados. Temos John Doe
e Jane Smith. O que basicamente mandamos o
filtro fazer é selecionar todas
as linhas da tabela de clientes em que o primeiro nome é John ou o primeiro nome é Jane. Portanto, esses dois filtros são essencialmente independentes um
do outro. Você tem seu primeiro
nome igual a John,
ou seu primeiro nome é igual Portanto, essa é uma boa maneira de ter dois filtros em qualquer lugar. Então, estamos filtrando pelo primeiro nome igual
a
John ou pelo primeiro
nome igual a Jane Se eu mudar isso para
A, não funcionará porque não há nenhum papel que tenha o primeiro nome John e
o primeiro nome Jane. Em seguida, temos
a palavra-chave between, e é aqui que
queremos selecionar um intervalo de pontos de dados. Então, por exemplo,
queremos selecionar, digamos, o ID do cliente 3-5. E se executarmos isso, obteremos todos os resultados
com
ID de cliente entre grátis e cinco, que é exatamente o que
temos aqui,
o que faz sentido. Portanto, é uma ótima maneira de
obter rapidamente uma variedade de pontos de dados. A palavra-chave between
é muito útil quando você deseja selecionar
uma variedade de pontos de dados. Então, um exemplo aqui, eu realmente
filtrei em ordem alfabética Então, o primeiro nome está entre A e E. E dois
resultados voltaram. Temos David e Chris, que estão alfabeticamente
entre A e
E. Então você pode ver
como esse já é um E. Então você pode ver filtro bastante
interessante E, claro, vamos
adicionar outra cláusula a isso Onde não só isso
tem que ser verdade, mas o primeiro nome deles
também deve ser David. E isso se reduz
a apenas este aqui. Então você já pode começar a
ver o quão poderoso isso pode ser. Por fim, temos
a palavra-chave in. Mas antes disso,
vou te mostrar uma maneira muito ruim de
fazer alguma coisa. Então, digamos que eu queira algumas
dessas colunas de volta. O que posso fazer é esse processo
muito demorado em que faço basicamente um filtro
ou para cada nome Então, eu vou escrever
isso bem rápido. O que eu fiz aqui
é uma maneira bem confusa de filtrar os
nomes que eu quero Então, o filtro é, você sabe, selecionar tudo, desde clientes
em que o primeiro nome é John ou o primeiro nome é Jane ou
Emily ou Michael ou David E isso me deu isso, mas é um pouco
desagradável de escrever. E você pode imaginar que
escrever isso para 100 entradas pode ser
um pouco cansativo O que você pode fazer em vez disso é isso O que você pode fazer em vez disso é isso. Você pode usar a cláusula final. Com um par de parênteses, basta colocar cada
entrada desejada Obviamente separados por vírgulas
e com aspas simples. E isso
lhe dará o mesmo
resultado de digitar, você sabe, o primeiro nome é John ou o primeiro nome é Jane ou o primeiro nome
é Emily, etc Isso é muito útil
quando você está filtrando várias
coisas em uma lista grande, basta usar essa cláusula, que economiza muito
espaço na tela e evita que seus
dedos digitem ou digitem muitos E, claro, você pode começar a usá-los em
conjunto. Temos um filtro
para o primeiro nome, qualquer um desses primeiros nomes, e o sobrenome é De
ou Brown. E volta com
esse resultado definido aqui. E meu conselho, novamente, é mexer com
isso, ver o que funciona, ver o que não funciona, ver como você pode alterar as
ordens deles Mas, desde que haja
uma cláusula Ware, você pode fazer o que
quiser. Isso resume tudo. E, claro, haverá uma planilha para
acompanhar isso Portanto, se você ainda
estiver um pouco confuso, haverá uma planilha
com perguntas e respostas, para que você possa ver como
ela é usada no contexto
14. Usando LIKE e seus curingas: Ok, então tivemos um pouco
de exposição sobre como podemos filtrar nossos conjuntos de dados e
resultados usando a cláusula Ware Agora podemos ver
o operador L. Agora, o operador é usado em conjunto com
a cláusula Ware para destacar e filtrar padrões
muito específicos cadeias
de caracteres É importante observar
que o operador trabalha com tipos de dados baseados em string
ou texto. Portanto, desde que sua
coluna tenha algum tipo
de tipo de dados
baseado em texto, ela deve funcionar. Agora, como sempre, é mais fácil
mostrar como funciona
do que falar sobre isso em teoria, porque na
verdade é mais fácil ver em ação do que ficar
falando sobre isso, Então, como colocamos esse
operador similar em ação? Bem, começamos
com nosso filtro de usuário, que é a cláusula Ware, e depois vamos
escolher uma coluna Então, vamos filtrar o
primeiro nome. Vamos fazer isso. E em vez de
colocar um sinal de igual ou um dos nossos outros operadores, vamos simplesmente
digitar assim, depois disso, vamos adicionar
algumas aspas simples. E dentro dessas aspas simples
é onde podemos começar a definir o que estamos
procurando ou o que estamos filtrando E é aqui que entram os
curingas. Então, como você pode ver, no comentário aqui,
temos algumas coisas. Portanto, curingas são essencialmente
o que você pode colocar nessas citações para ajudar a especificar
o que você está procurando Temos dois curingas. Temos um
sinal de porcentagem e um sublinhado. Um sinal de porcentagem
representa zero, um ou vários caracteres, enquanto o sublinhado
representa apenas um caractere
singular Agora, isso provavelmente não
fará muito sentido até começarmos a usar
o operador like, mas eu só quero que você saiba se é isso
que eles são. Vamos nos concentrar primeiro na
porcentagem. Agora, o que vou
escrever aqui é apenas um J maiúsculo e
um sinal de porcentagem. Agora, o que isso
realmente significa? O que isso realmente significa é que
vamos
procurar um primeiro nome que tenha um J maiúsculo no início e, em seguida, qualquer número de
caracteres depois desse J. Em outras palavras,
estamos procurando um primeiro nome que comece com J. E se executarmos esse script, obteremos dois resultados. E, como esperado,
o primeiro nome desses resultados começa com J. Como de costume, isso diferencia maiúsculas de
minúsculas. Então, se eu colocar um J minúsculo, nada aparece porque
nenhum dos nomes, nenhum dos primeiros
nomes neste conjunto tem um J minúsculo para Então, sim, isso basicamente diz
ao software que estamos procurando por um padrão específico na coluna do primeiro nome. E esse padrão é
um J, um J maiúsculo
e, em seguida, quaisquer outros
caracteres depois desse J. Agora, inversamente, se colocarmos
esse sinal de porcentagem no início de nossa cotação
e depois um E no final, agora
estamos procurando,
vamos pensar Então, temos qualquer número
de caracteres e qualquer tipo de personagem
e um E no final. Basicamente, isso significa dizer ao
software que estamos procurando um primeiro nome que termine em E.
Então, executamos esse script. Obtemos um resultado, um primeiro
nome que termina em E, Jane. Isso faz sentido. Agora,
espero que você já possa começar a
ver o quão poderoso é
esse operador similar Agora, é claro,
não precisa ser um curinga e
depois uma letra. Pode ser qualquer tipo
de combinação que você quiser.
Vamos dar uma olhada. Se fizermos MI e depois um E e talvez outro sinal de
porcentagem, o que obteremos? Bem, vamos pensar no
que estamos
procurando ou no que estamos
pedindo que ele procure. Estamos procurando um primeiro
nome que tenha M e I
no início e , em seguida, qualquer
número de letras depois disso. Mas também queremos um E
entre essas letras. Então, desde que
haja um M e I, algumas letras um E, e talvez algumas
letras depois disso. Se executarmos esse script, obteremos um resultado, Michael.
E isso faz sentido. E se eu mudar esse E para um L, que é a última
letra em Michael, ainda nos dará o mesmo resultado porque
esse sinal de porcentagem cobre
tudo, desde zero caracteres até qualquer
número de caracteres. E só para contextualizar, se eu
colocar um sinal de porcentagem, isso está dizendo ao software
para pesquisar um primeiro nome que tenha qualquer número de caracteres e qualquer tipo de
combinação de caracteres. Então, se eu digitar isso
e executá-lo, obteremos cada
primeiro nome porque cada nome corresponde ao critério de zero, um ou vários caracteres. E, claro, você não precisa usar nenhum curinga. Se eu apenas digitar John conforme está escrito e pesquisar por isso,
você receberá o resultado de volta Mas se eu apenas digitar J, isso não me dará nenhum
resultado porque
não há um primeiro nome que tenha apenas
um J e nada mais nele Para fazer isso
corretamente, eu teria que fazer isso e adicionar um curinga novamente Então, isso cobre o lado
percentual. Só que representa
qualquer número de caracteres. No lado oposto,
temos nosso sublinhado. Agora, isso representa um personagem e apenas um
personagem. E isso é ótimo para se você estiver procurando por certos comprimentos de, você sabe, texto, deixe-me
demonstrar como isso funciona Digamos que estamos procurando um
primeiro nome que comece com J e tenha três outras
letras depois disso. Nunca pesquisei isso,
mais uma vez encontramos John e Jane. Eles parecem ser
os mais populares no momento. E isso porque, quando
você pensa sobre isso, estamos procurando um primeiro
nome que comece com J e depois tenha
outros três caracteres, não importa o que sejam, tenha outros
três caracteres
depois disso. Se eu adicionar outro sublinhado
e pesquisar novamente, você notará que nenhum
resultado retorna, e isso porque
estamos procurando agora um primeiro nome que
tenha um J para começar No entanto, temos alguns desses.
Mas então estamos procurando por aqueles com quatro
letras depois desse J, e não temos
nenhum nome assim. Assim, você pode ver o quão específico você pode ser
com essas coisas. E você pode começar a combinar esses curingas para ser realmente específico
em suas pesquisas. Então, aqui está um exemplo rápido de um tipo de combinação
das três coisas. Eu tenho um curinga percentual, tenho os curingas de
sublinhado
e só tenho
caracteres e só tenho Então, o que estamos procurando aqui? Estamos procurando
qualquer sobrenome que tenha qualquer número de caracteres, mas que contenha
OH em algum momento. E depois disso, OH, há um, dois,
três, quatro personagens. Então eu vou seguir em frente e
executar isso e lá vamos nós. Temos um sobrenome que preenche esses critérios, Johnson E isso parece
certo. Então, temos OH. Marque isso e, em seguida, NSON e são quatro
caracteres depois desse OH E então o sinal de porcentagem
que pode representar o J. E essa é uma maneira de
usar o operador like. E, claro, podemos
começar a empilhar esses
operadores semelhantes usando as funções
O ou e. Então, neste caso, estou
procurando um sobrenome que comece com D ou um nome
que comece com J. E se executarmos esse script,
obteremos três resultados. Sobrenome que começa com D, temos Doe e Davis e, em seguida, qualquer nome que comece com
J, John e Jane Um ótimo exemplo de uso disso é em e-mails em que você deseja ter e-mails específicos em que
deseja que todos os clientes tenham uma conta do Gmail,
para
que você possa simplesmente
digitar, você sabe, gmail.com com o E isso proporcionará a você
qualquer cliente com o e-mail que tenha um
gmail.com no final Nesse caso, não temos
nenhum tipo de Biva em example.com. Vou trazer de volta todos
os e-mails que têm
example.com no final
e, nesse caso,
são todos eles E esse é o básico
do operador similar. Eu encorajo você a
mexer com esses curingas e digitar qualquer tipo de combinação e ver se consegue obter resultados
específicos
15. AGREGAÇÕES e GRUPO POR cláusulas: Ok, então o próximo item da
agenda é falar sobre
agregações e também sobre a cláusula de agrupamento por Portanto, as agregações são
cálculos em um conjunto de valores que
produzem um resultado Então, eu tenho uma lista
das principais agregações que você pode usar aqui Portanto, temos Min, que mostra o menor valor em um
grupo ou coluna selecionado , neste caso, Max, que mostra o maior
valor em uma coluna selecionada, count, que retorna o
número de linhas em um conjunto. Esse é muito
útil. Soma e isso retorna a soma total de uma coluna numérica
e a média, que retorna o
valor médio de uma coluna numérica Agora, eles
provavelmente são bem
parecidos com o que você veria no Excel, especialmente os de soma
e média. Mas eles são muito úteis
se você quiser apenas compilar vários
dados em um único resultado Veja, digamos que você esteja trabalhando
com comércio eletrônico, talvez queira encontrar no MAX o
pedido com o preço mais alto que você já teve, ou talvez a conta, que é o número
de pedidos que você recebeu, você possa fazer isso rapidamente
com agregações Mesmo na média, todas essas agregações
são muito úteis, especialmente quando
começamos a
combiná-las com a cláusula group by Então, como aplicamos
essas agregações? Na verdade, é bem simples. Então,
vamos até nossa
cláusula de seleção e
vamos digitar Digamos que usaremos o MI. E vamos colocar nossos colchetes. E dentro desse colchete, colocamos a coluna na qual queremos usar essa agregação. Então, vamos testar o preço da nossa tabela
de produtos. E se digitarmos isso
e executarmos esse script, obteremos o valor mínimo
da coluna de preço. O mesmo para o máximo. Recebemos o preço mais alto que
temos em nosso banco de dados. Se quisermos ver o preço médio do
que estávamos fazendo, basta digitar AVG. Executamos isso e obtemos esse número
muito longo aqui, que é exatamente a forma como o
número funciona, mas podemos usar, mais
uma vez, nossa função redonda, colocá-la entre colchetes E basta adicionar. Desculpe.
Apenas faça isso, execute isso. Podemos então arredondar isso
para apenas dois valores decimais
e, em seguida, temos um preço médio
bonito E, finalmente, se
quisermos encontrar a soma total, que é, neste caso, 1677, usamos essa
sintaxe aqui, soma soma Por fim, podemos observar a agregação de contagens
e
as contagens de forma um pouco diferente Você pode definir uma coluna, para que possamos selecionar o preço de contagem, e isso nos
devolve dez linhas aqui, que é exatamente o que está
no banco de dados. Mas você pode simplesmente
usar o signo, que é a contagem de qualquer uma
das colunas, que
ainda retorna dez. Agora, isso pode ser bom porque você pode especificar
qual coluna deseja contar, pois se você estiver vendo uma coluna
específica,
talvez ela não esteja totalmente preenchida Pode haver alguns valores
nulos lá, que significa que a contagem
das linhas seria diferente de apenas contar
de cada coluna,
se isso fizer sentido Vamos pensar
nisso por um segundo. Nesta tabela,
temos dez linhas no total. Então, se eu fiz, selecione contar. Em tudo, isso me
daria dez resultados. Mas digamos que dentro da coluna, tivéssemos três valores nulos Se fizéssemos a contagem
para a categoria, ela só
voltaria com sete. E essa é a
diferença entre usar estrela de
contagem e a contagem
dentro de uma coluna. Na maioria das vezes, eu uso apenas
a estrela de contagem, porque isso lhe dará a contagem total de toda
a mesa. Na verdade, não podemos usar
as
agregações de soma e média em
nada que não seja dado
numérico, porque
como você pode obter a soma de uma coluna de texto Realmente funciona
dessa maneira? No entanto, ainda podemos usar o mínimo máximo
e a contagem. O MN que
funciona apenas em ordem alfabética. Então, se eu colocar o nome do produto, qual é o nome mínimo do produto? Vou nos dar uma mochila,
que é, eu acho, você sabe, mais próxima de
A, nesse sentido,
e então, inversamente,
usamos o nome do produto Max Isso nos dará o
que está mais próximo
do final do alfabeto, que neste caso é o
mouse sem fio Agora você provavelmente está pensando
que isso é bastante limitado, mas assim que começamos a usar essas agregações com
a cláusula Group By, elas começam a se tornar
realmente úteis Portanto, a cláusula Group By ajuda
basicamente a separar seu conjunto de
resultados em grupos, e você pode definir o que
realmente está sendo separado E, novamente, vamos dar uma
olhada e eu vou te mostrar. Então, o que vamos
fazer é adicionar uma cláusula group by
no final disso E digamos que
vamos usar o preço novamente. Vamos fazer a média. Vamos escolher o preço mínimo. E eu vou agrupar isso por. Digamos apenas categoria. Então, nós apenas o agrupamos por qualquer coluna pela qual
queremos agrupá-lo. Nesse caso, fazemos categoria. E isso vai produzir um resultado que provavelmente ainda
não é muito útil, mas eu vou
fazer isso de qualquer maneira. Observe que não temos apenas
um preço mínimo agora. Recebemos quatro preços mínimos. Agora, isso não é
muito fácil de ler. Então, o que vou fazer
aqui é digitar uma segunda coluna para
ver o preço mínimo, e essa será
apenas a categoria. Nós fazemos isso de novo. Agora temos algo que provavelmente é um pouco mais óbvio do
que estamos fazendo. Portanto, com a cláusula de
categoria de grupo, estamos cobrando o preço mínimo
para cada categoria de item E essa cláusula de agrupamento por cláusula é muito útil para trabalhadores
com categorias, datas, o que
você quiser . Você pode começar a separar seus dados e ainda
realizar agregações Quando mencionei,
você não pode simplesmente começar a adicionar mais colunas
à cláusula select Você só pode fazer a agregação e a coluna em que está
fazendo a cláusula agrupar por Porque se você adicionasse
a terceira coluna, ela terá mais linhas do que essas duas colunas que
foram produzidas aqui , então não
funcionaria de verdade. Você sabe, se
tivesse o nome do produto, junto com
isso, não funcionaria. Então, eu mencionei as vendas. Então, eu tenho aqui a tabela de vendas que ainda não
exploramos E vamos pensar no
que podemos fazer como uma pequena agregação
e agrupar por cláusula Então, eu vou fazer,
vamos dar uma olhada. Faremos o valor total máximo e o
agruparemos por grupo por, digamos, ID do cliente. E dessa forma, isso nos dá o maior pedido que cada
cliente nos deu. Então, vou apenas digitar ID
do cliente aqui
e vamos executá-lo. Vamos pedir também. Vamos ordenar pelo que o ID do
cliente está enviando. E, na verdade, só para tornar
isso um pouco mais agradável de ver, troque a ordem dessa rodada, essas são pequenas coisas que
você pode fazer para tornar
seu conjunto de resultados um
pouco mais legível,
ordenar por, alterar a ordem das colunas
, coisas E o resultado é ID
do cliente encomendado de um a seis, e temos o valor
máximo do pedido para cada cliente a partir
desse conjunto de resultados. Então você pode exportar isso e, você sabe, dependendo disso, talvez você possa enviar isso para
a equipe de marketing e dizer: Ah, cliente cinco, você sabe, eles tiveram um pedido máximo de 500. Mas se você quiser
entrar e dizer, qual foi o valor
total médio que nossos clientes fizeram. Você
poderia fazer isso também. E ainda assim, sim, o cliente
cinco tem uma ordem média, você sabe, de 280. E, novamente, podemos arredondar isso, colocá-lo entre parênteses, adicionar uma figura redonda Isso o torna um pouco
mais legível novamente. E sim, isso
mostra como você pode usar agregações junto com
a cláusula Group By Eu realmente gosto de mexer
com as cláusulas do grupo B e os agregados
porque você pode obter
alguns insights realmente
interessantes E especialmente quando você começa
a entrar na análise de dados, esse tipo de
agrupamento e agregação é muito
útil para realmente agregação é muito
útil para realmente analisar os dados e
descobrir coisas que podem não ser tão óbvias quando você analisa um conjunto de dados
pela primeira vez Vamos fazer mais um exemplo. Vamos ver
quantos pedidos
cada cliente fez . E
podemos simplesmente executar isso. Portanto,
parece que todo mundo recebeu dois pedidos, exceto
o cliente seis. E isso está correto?
Vamos dar uma olhada. Portanto, o cliente seis recebeu
apenas um pedido. E sim, isso está correto. Só temos um pedido
de seis clientes aqui. E aí está,
você pode começar a
ver o quão poderoso isso é. Digamos que você tivesse um
banco de dados que funcionasse ,
você sabe, em vendas por dia , você poderia começar selecionar a contagem de vendas e
agrupá-la pela data. Então você poderia obter, você sabe, uma contagem de cada data e
ter um número de vendas, quantas vendas foram
feitas nessa data, e então você pode fazer,
tipo , uma venda máxima
ou média para cada data, coisas assim. Então, sim, é super
flexível e muito útil. Então, espero que isso seja
útil, especialmente se você começar a
trabalhar com comércio eletrônico ou big data e
coisas
16. Noções básicas de SQL Join: Olá, e bem-vindo de volta
a outra aula. Hoje, abordaremos junções. Agora, as junções são extremamente importantes quando você
trabalha com SQL, pois elas permitem que você
pegue tabelas diferentes
e as mescle para
formar novas tabelas que podem ter insights
diferentes dos que você poderia ter originalmente É algo
muito poderoso e a razão
pela qual usamos bancos de dados
relacionais Mas, para ser honesto, é provavelmente a coisa mais avançada que
estamos fazendo neste curso. Então, reserve um
tempo com este vídeo e leia também as
notas, porque para mim,
Joins foi provavelmente a coisa mais confusa quando eu estava começando a aprender SQL E a maneira como eu superei
isso foi apenas lendo notas, dando exemplos
e experimentando por mim mesma. B, eu só quero
te avisar nesta lição que provavelmente
é a coisa mais
avançada que faremos Com isso dito,
vamos entrar no assunto. Então, para esta lição
em particular, vou pedir que você
copie e cole essa codificação Semelhante ao início
do curso, tudo o que isso fará é
adicionar algumas tabelas. Ele adicionará uma
tabela de e-mails e uma tabela de usuários. E essas são duas
tabelas básicas que
vamos usar para
demonstrar as junções E, claro, esse código
estará nos recursos da aula. E depois de executar esse código, lembre-se de
atualizar suas tabelas, e ele deve aparecer aqui Certo. Antes de fazermos
qualquer tipo de codificação, vamos falar sobre o que são junções Portanto, as junções no SQL permitem que linhas de duas ou mais tabelas sejam
unidas usando uma coluna mútua O importante é
saber a coluna
mútua entre as tabelas. É isso que
nos permite nos juntar a eles. Então, vamos dar uma olhada em nossas
duas tabelas aqui. Eu tenho a tabela de usuários.
Vamos digitar isso. Temos um ID de usuário e um nome
e, em seguida, e-mails,
temos ID de e-mail, ID de
usuário e e-mail. Agora, se você notar
entre essas duas tabelas, temos uma coluna mútua.
Voltamos aos usuários. Temos o ID do usuário
e, na tabela de e-mails, também
temos o ID do usuário. Então é aqui que
podemos realizar uma junção. Podemos realizar uma junção usando o ID do usuário como nossa
referência para as regras. E, na minha experiência,
a melhor maneira de
visualizar junções é
com o diagrama VN Portanto, no diagrama VN, cada círculo representa uma tabela Digamos que das nossas duas tabelas, a esquerda seja a tabela do usuário e a direita seja
a tabela de e-mails. A seção no
meio do diagrama representa as linhas que
coincidem nas duas tabelas. Agora, com esse diagrama em mente, vamos pensar em
como podemos escrever nossa primeira junção SQL. Agora vamos
começar simplesmente com selecionar tudo e depois de. E agora vamos
selecionar a mesa à esquerda. Então, nesse caso,
serão os usuários. E então vamos
digitar join
e, em seguida, a
tabela à direita, que é e-mails. Então, temos nossa tabela esquerda
e direita aqui, e então precisamos definir o que estamos realmente juntando. Então, vamos colocar
a palavra-chave
e, em seguida, precisamos
digitar o ID do usuário do ponto do usuário do usuário. E o que isso está definindo
é primeiro os usuários da tabela
e, em seguida, com esse ponto,
vamos entrar e selecionar a coluna de ID
do usuário. A razão pela qual precisamos especificar
o nome da tabela é porque
vamos adicionar um igual e
digitar o ID de usuário ponto do e-mail. Portanto, há dois IDs de usuário, então precisamos realmente
definir quais
deles vêm de qual
tabela, se isso fizer sentido. E que aí está
sua junção básica. Agora, antes de executarmos
isso, precisamos
definir que tipo de
junção estamos fazendo. Portanto, há quatro
junções principais que fazemos. Há a junção interna, esquerda,
direita e completa, e eu as tenho
aqui embaixo para que você possa
lê-las à medida que avançamos. O básico é uma junção interna, que retorna os registros
que correspondem às duas tabelas. Uma boa maneira de visualizar isso
é com o diagrama VN, é apenas aquela seção intermediária que cruza Então, podemos fazer a junção interna, e essa é nossa consulta final. Então, o que vamos
fazer aqui é selecionar todas as colunas da tabela de
usuários e e-mails. Estamos nos unindo pelo ID do usuário e só vamos fazer as
listas mútuas Então, vamos executar isso. E lá vamos nós. Temos
nossas duas mesas unidas. E então, apenas um lembrete,
temos o usuário, que é literalmente
um nome de ID de usuário, e então nossos e-mails
são apenas e-mails Mas com isso, geramos uma nova tabela que tem
o nome e o e-mail. E aqui na causa selecionada, podemos ser um pouco mais específicos com as
colunas que estamos retirando E, novamente, como na verdade
estamos usando duas tabelas nessa consulta, precisamos definir de qual tabela
cada coluna vem. Assim, podemos fazer isso com os usuários
pontuam NAM e depois enviam e-mails por e-mail Então, estamos pegando a coluna de
nome da tabela do usuário e a coluna de e-mail
da tabela de e-mails. E se executarmos isso novamente, receberemos apenas um nome e um e-mail, e essa é sua junção interna
básica. Em seguida, temos a junção esquerda. A junção esquerda, como
podemos ver aqui, retorna todos os registros
na tabela à esquerda. Então, ele
retornará tudo da tabela
do usuário junto com quaisquer registros que
correspondam às duas tabelas. E, novamente, o diagrama VN será muito útil
na visualização Então, será a tabela esquerda completa, ao lado de qualquer interseção
da tabela direita E se executarmos isso,
obteremos o seguinte resultado. Então, aqui estão os resultados
da junção à esquerda. Temos algumas linhas extras. Temos Hank,
Frank e Diana. Agora, o que é interessante
sobre isso é
que não temos nenhum e-mail,
ID de e-mail ou ID de usuário na
tabela de e-mail para essas linhas gratuitas. E por causa
disso, eles não foram realmente incluídos
na junção interna. Mas com a junção esquerda,
porque elas estão na tabela do usuário, elas existem. Então, esses três
IDs de usuário, Hank, Frank e Diana, na verdade não
existem na tabela de e-mails Se você procurar oito, seis e quatro, eles realmente não
existem na tabela de e-mails. No entanto, eles existem
na tabela de usuários, que é a tabela à esquerda. Portanto, eles estão
incluídos na junção esquerda. Exatamente o mesmo
vale para a junção certa. Então, se executarmos isso,
podemos ver que há dois e-mails aqui que não
existem na tabela do usuário, mas ainda estão incluídos
nesses resultados. E, novamente, o diagrama VN
seria o círculo direito, a mesa direita ao lado da interseção
com a mesa esquerda Finalmente, temos a junção completa, que é o diagrama VN completo,
que é tudo, de todas as tabelas e registros,
que correspondem às duas tabelas Nós executamos isso, pegamos tudo. Aí está. E esse é
o básico das junções Como eu disse, talvez você
precise de algum tempo para descobrir como a
junção esquerda e a junção direita funcionam. Esses dois, em particular, foram bastante confusos para
mim no início Mas acho que, assim como você
o usa um pouco mais e mais,
você vai pegar o jeito. Agora, vamos ver um caso de uso
adequado de uma junção. Vamos examinar a tabela de vendas
do
nosso banco de dados original
e do conjunto de tabelas original. Então, se executarmos isso, podemos
ver essa tabela aparecer. Agora, como você pode ver,
não temos muita informação,
para ser honesto. Temos alguma
data de venda e valor da venda, quantidade total de
vendas, mas, você sabe, ID da
venda, ID do cliente, ID do produto. Eles
não são muito úteis. exemplo, se houvesse
milhares de produtos, como eu saberia qual é o ID de
produto cinco? E como eu sei o que é o
Customer Customer ID quatro? Agora, essa é a parte divertida. Na verdade, temos IDs de clientes e IDs de produtos em tabelas
separadas. Se olharmos para os clientes, temos um ID de cliente aqui e produtos.
Temos o ID do produto. Então, temos tudo o que
precisamos para começar a entrar nossa tabela de vendas e criar uma
tabela mais útil com ela. Então, vou começar com uma declaração selecionada, como sempre, selecionar estrela, de e
na tabela à esquerda, vamos criar clientes. E faremos uma junção interna. E então precisamos
usar a tabela de vendas. E em que vamos nos juntar a eles? Então, precisamos encontrar uma maneira de
unir essas duas tabelas. E qual é a coluna
mútua para a tabela de clientes e vendas? Bem, é o Customer ID
do cliente do cliente. A coluna ID do cliente existe tanto na
tabela do cliente quanto na tabela de vendas. Mas como estamos fazendo
coisas em duas tabelas, precisamos definir primeiro a tabela e depois a coluna
que existe nessa tabela. E estamos unindo isso
com um sinal de igual com tabela de vendas e ID do cliente Lá vamos nós. E se executarmos isso, recuperaremos
muitas informações. Temos uma
tabela bem grande porque estamos juntando duas tabelas
com todas as colunas. Mas se pudermos ver, entramos, acho que a tabela de vendas começa na coluna de
ID de venda aqui. Portanto, temos nossa tabela
completa de clientes aqui, juntamente com
nossa tabela de vendas aqui. Então, já podemos ver agora John Doe era o ID de venda número um Então, já aprimoramos
nosso uso da tabela de vendas. No entanto, poderíamos fazer mais de
uma união, então podemos fazer uma segunda união que nos mostrará quais
produtos eles pediram. Então, vamos fazer uma junção interna. E depois a tabela de produtos. E como vamos nos juntar a eles? Bem, temos o
ID do produto na tabela de vendas e também temos o
ID do produto na tabela de produtos. Então, mais uma vez, vamos usar o ponto
do produto. ID do produto é
igual a vendas, ID do produto Então, mais uma vez, estamos
usando o
ID do produto na tabela de vendas
e na tabela de produtos. E vamos executar isso. vai ser uma mesa muito
longa
porque são três mesas
essencialmente unidas, mas temos nossos nomes. Recebemos nossas
ordens. E agora também
temos o que eles pediram. Portanto, temos o
nome do produto, a categoria, preço, etc.,
etc. E aí está. Então, podemos ver que John Doe
encomendou dois mouses sem fio. Rato, mouse, eu não
sei. Sim, ratos. E agora, se não
quiséssemos essa tabela completa, podemos voltar à nossa cláusula de
seleção e começar a refiná-la Então, digamos o
primeiro nome do cliente , o sobrenome do cliente. Então vamos, vamos fazer o nome do
produto. E então vamos fazer, vamos
fazer, sim, quantidade
de vendas. Valor total das vendas. E aqui
provavelmente haverá uma mesa muito boa e
bonita que você
pode mandar para quem quer que seja Ah. Perdeu um R. Veja, você tem que verificar a ortografia Esse é apenas mais um exemplo
de eu digitar errado o tempo todo. Mas sim, se você digitou
tudo corretamente, ao contrário de mim, você deve ter uma mesa muito boa
no final Então, temos John Doe. Conecta o mouse dois e
o total do pedido. E que há
um exemplo adequado de como você pode usar junções para criar um novo conjunto de dados usando dados existentes
em tabelas separadas E isso remonta ao motivo pelo qual os bancos de dados de
relações são tão bons porque você não
precisa ter uma
tabela separada aqui para isso, o que ocuparia
espaço no banco de dados. Você pode simplesmente usar junções para criar essa tabela aqui e
depois enviá-la ou, você sabe, armazená-la como uma consulta
e, em seguida, executá-la quando
precisar dessa tabela Mas sim, leva
um pouco de tempo descobrir como. Mas sim, leva um pouco de tempo
para descobrir quais tabelas vão para onde e como todas elas
se juntam, mas será apenas um caso
de tentativa e erro E sim, apenas experimentando
exemplos por si mesmo. E você pode usar o chat
GBT para gerar novas tabelas para
você, basta digitar,
você sabe, gerar
uma tabela simples na você sabe, gerar
uma tabela simples eu
possa praticar junções
, e ela fará isso E você pode inserir
isso nisso e
brincar com isso. Mas sim, eu vou
deixar isso aí. Isso é muito para digerir. Espero que isso faça sentido. Como eu disse, o joins foi
o que meio
que me confundiu quando
comecei a aprender, mas basta persistir
e, eventualmente, tudo começa
a ficar cada vez mais fácil
17. Inserindo dados em tabelas existentes: Neste capítulo,
vamos nos concentrar em como podemos alterar as
tabelas reais em um banco de dados. Então, como podemos inserir
novos pontos de dados, como podemos excluir tabelas, como podemos atualizar
dados em tabelas
e, finalmente, como
podemos criar novas tabelas. Nesta primeira lição, falaremos sobre como
podemos adicionar linhas a uma tabela
existente. Então, eu abri
a tabela de produtos e digamos que nosso
chefe nos disse que agora vamos
vender kits de bateria e guitarras, e queremos adicionar
isso ao nosso banco Bem, podemos usar
essa função aqui, podemos ver a inserção em. E essa é a nossa
função que usamos quando queremos adicionar uma rosa
a uma tabela existente. Então, após essa
inserção na função, queremos definir em qual
tabela estamos inserindo Nesse caso, é
a tabela de produtos. Em seguida, adicionamos alguns
colchetes e apenas
adicionamos as colunas às
quais queremos adicionar dados Vamos adicionar
dados ao nome do produto,
categoria, preço
e quantidade de estoque. Como o
ID do produto é uma chave primária, você pode ver que no
PK entre colchetes, ele será preenchido automaticamente Portanto, não precisamos
inserir manualmente nenhum dado aqui. Eu criarei automaticamente um novo número de série do ID do produto. Mas sim, podemos adicionar todas as colunas, exceto
a ID do produto, dentro desses
colchetes separados por uma vírgula E então você vai acabar
com algo assim. Então, estamos
inserindo nos produtos
e, em seguida,
inserindo no nome do produto,
categoria, preço e quantidade de
estoque Essas são as colunas nas quais estamos inserindo algo Na próxima linha,
adicionamos os valores das palavras. E é aqui
que realmente definimos quais valores estão indo para
essas colunas em nossa nova linha. E nós apenas adicionamos alguns colchetes
após a declaração do valor, e é aqui que vamos
adicionar nossos pontos de dados Então, usando aspas simples, podemos adicionar alguns valores. Agora, queremos prestar atenção que está em nosso primeiro
conjunto de colchetes porque queremos
garantir que nossos pontos de dados
correspondam às colunas Portanto, nossa primeira coluna
é o nome do produto, então adicionaremos o nome
do produto aqui. Violão, separe
isso com uma vírgula. Então temos a categoria. Então, vamos apenas fazer instrumentos. Vírgula. O preço dirá 29999 E, finalmente, a
quantidade de estoque será 50. Então você pode ver como
isso funciona. Temos nossa primeira
linha que define a ordem das colunas e como elas
serão atualizadas
e,
em seguida, adicionamos cada valor à coluna à medida que avançamos. Então, temos o
nome do produto, guitarra, categoria de instrumentos,
preço 300, quantidade de estoque 50. E se eu executar isso
agora, ele inseriria uma única linha no
final da tabela. Mas, na verdade, você pode adicionar
mais de uma linha por vez. Então, vou colocar
uma vírgula no final para ir para
a nova linha
e alguns colchetes novos E poderíamos fazer a
mesma coisa. Poderíamos adicionar mais alguns valores. Então, veremos o kit de bateria. Está na mesma categoria de
instrumentos. Você pode ver que o preço é 1.000. E, finalmente, a quantidade
de estoque é apenas 15 porque os kits de
bateria são grandes. Terminaremos essa declaração
com ponto e vírgula. Aí está. É
a mesma coisa. Acabamos de
separar essas declarações entre colchetes com uma vírgula
aqui.
E aí está. Esse código agora adicionará duas
linhas à tabela de produtos, a da guitarra e
a linha do kit de bateria. Então, vamos executar
isso. Lá vamos nós. Temos nossa
mensagem aqui inserida, e ela tem um número
dois, o que significa que ela inseriu duas linhas. E se eu selecionar
todos os produtos, devemos ter mais duas linhas
na parte inferior. Kit de guitarra e bateria. Lá vamos nós. Tem nossas
informações inseridas corretamente. Percebo que o ID do meu produto provavelmente
será
diferente do seu, e isso porque
eu
excluí e adicionei linhas
várias vezes. Então, do jeito
que isso funciona, sempre
terá um novo número. Então o seu
provavelmente será 11, 12. Mas se você
excluísse essas duas linhas e
adicionasse mais linhas, seriam 13, 14,
etc., etc Você não pode ter repetições
da mesma ID do produto, então ela sempre gerará
algumas novas para você Portanto, não entre em pânico se for
diferente para você. Mas sim, é assim que você adiciona
dados às tabelas existentes. Agora, vale a pena notar
que você não
precisa adicionar todas as colunas de uma tabela nesta primeira declaração
inserida. Digamos que você não soubesse
a quantidade de estoque, não
precisaríamos adicioná-la se não soubéssemos. Nós
podemos nos livrar disso. E então, se também o eliminarmos
na demonstração do valor, poderíamos executar isso, e
acabaria
sem informações sobre a quantidade de estoque
nesses dois quadrados
na parte inferior aqui No entanto, às vezes as colunas
precisam ser preenchidas. Isso ocorre porque não
queremos uma tabela de produtos que não tenha informações
sobre o nome do produto, por exemplo, ou nenhuma
informação sobre o preço. E chamamos essas pequenas
regras de restrições. Falaremos
mais detalhadamente sobre restrições ao
criar tabelas Mas, por enquanto, se formos
ao explorador de objetos, clique com o botão
direito do mouse e vá até as propriedades da tabela de
produtos. E depois é só entrar em colunas. Agora, se olharmos para
essa coluna não agora, podemos ver que há
três colunas marcadas, e essas são as colunas que precisam ter
informações nelas. Isso significa que podemos
deixar a categoria e interromper a quantidade em branco. Então, vamos voltar à
nossa declaração e dizer que não temos a categoria. Podemos simplesmente dizer o
nome e o preço do produto. Assim, podemos nos livrar
de nossa categoria aqui em nossa declaração de valor, seja, digamos,
microfone e cabos. E você só
quer revisar isso, garantir que esteja bonito e que não haja vírgulas
ou aspas extras Isso parece bom para mim.
E se eu executar isso agora, vamos dar uma olhada. Lá vamos nós. Funcionou e acabamos de
selecionar todos os produtos. Nós caímos. Lá vamos nós.
Temos microfone e cabos, mas a categoria é nula Mas o interessante
é que a quantidade de estoque, embora não tenhamos
inserido nenhum dado, o padrão
é E isso será
algo projetado
dentro da mesa. Então, se voltarmos à tabela de
produtos aqui e formos às propriedades,
examinaremos as colunas. Podemos ver que a quantidade de
estoque
realmente tem um valor
padrão, zero. Mas se excluíssemos isso e
executássemos novamente a consulta, isso também seria nulo,
como a categoria Mas sim, eu só quero mostrar que
você não precisa adicionar valores em
cada coluna. Como eu disse,
abordaremos as restrições
em outras aulas,
então não se preocupe
18. Excluindo dados de tabelas: Tudo bem, então a
lição anterior sobre inserção e todos os tipos de restrições
diferentes nas tabelas foi Então, neste, eu
só quero fazer uma boa aula relaxante sobre
a função delete. A função delete
é apenas uma forma de remover linhas de uma tabela. E você pode especificar quais
linhas usando filtros, como fizemos antes
quando selecionamos as linhas. Então, digamos que
nosso chefe mudou de ideia e não estamos mais
vendendo equipamentos musicais. Precisamos nos livrar
dessas linhas livres aqui. Precisamos nos livrar
da fila de baterias, da fila guitarras e
da fila de microfones. Então, como excluímos essas
linhas da tabela? Bem, começamos com
essa frase aqui, excluir. De e nesse caso, excluiremos da tabela
de produtos E usamos apenas nosso filtro de software, e é aqui que
definimos quais linhas serão excluídas. Então, vamos pensar nas diferentes maneiras de
fazer isso. Podemos simplesmente examinar
as funções que
queremos excluir e usar qualquer um dos atributos associados a essa função para excluí-la. Vamos começar excluindo a função
do microfone. Uma boa maneira de fazer
isso é usar a ID do produto, pois
ela é exclusiva dessa função e significa que
não há duplicatas que serão excluídas ou
algo parecido Vai ser
só aquela fila. Então, podemos fazer isso. Exclua dos
produtos em que o ID do produto seja igual a 17. Nós administramos isso. E se executarmos isso,
ela excluirá uma linha e voltará com
a saída lá. E se selecionarmos
entre todos os produtos, veremos que a
linha do microfone foi excluída e isso é uma alteração
permanente na tabela e no banco de dados. Agora vamos dar uma
olhada em como podemos excluir a bateria
e as linhas de guitarra. Bem, como antes, podemos usar o ID do produto assim, 13. Se executarmos isso agora, ele
excluirá a linha do kit de bateria. Mas, se
quisermos acelerar isso, podemos fazer várias
exclusões ao mesmo tempo Nesse caso, você pode
usar a coluna de categoria para filtrar nossa exclusão, porque os
únicos que estão na categoria
do instrumento são
os que queremos excluir Como alternativa, você pode
manter o ID do produto. Se quiser excluir várias
linhas ao mesmo tempo, você pode começar a
usar a cláusula in Ou, se você quiser ser sofisticado,
pode começar a usar a lógica, dependendo da
situação em que se Você pode usar a
função or ou and se quiser ser mais específico com
o que está excluindo Isso também funcionaria aqui, mas vou continuar
com a cláusula in Eu só vou executar
isso. E aqui vamos nós. Ele voltou com Excluir dois, então foram excluídas duas linhas. E se eu executar
isso, agora ele
voltará com nossas dez linhas originais. Então aí está. É assim que
você exclui linhas das tabelas. Então, agora você sabe como inserir e excluir dados também. Então, por que não
tentar inserir dados em uma tabela e
depois excluir
19. Editando dados em tabelas: Além de inserir e excluir linhas e
dados das tabelas, também
podemos atualizar e alterar os
valores existentes na Podemos fazer isso usando o comando
update table. Isso é útil se
você quiser fazer algumas alterações permanentes em uma tabela
existente em um banco de dados. Pode haver um caso em
que você esteja
alterando permanentemente o preço de um
produto ou talvez esteja alterando o e-mail
permanentemente de um cliente ou talvez um cliente tenha
se casado e queira alterar seu sobrenome
no banco de dados. Nem é preciso dizer
que atualizar tabelas e dados é
parte integrante do que fazemos. Por isso, é importante
aprender como fazemos isso. Então, vamos ver
como podemos atualizar algumas coisas na tabela de
produtos. Vamos começar com
a simples atualização
do comando. Depois disso, definimos qual
tabela queremos atualizar. Então, neste caso, é
a tabela de produtos. Em seguida, escrevemos o comando set, e dentro desse comando é
onde vamos definir quais colunas estão mudando e o que estamos mudando
dentro dessas colunas. Então, vamos pensar no
que queremos mudar. Digamos que queremos alterar o preço da mesa de pé e seus valores tenham aumentado. São 300 libras agora. Tudo o que precisamos fazer é digitar
o preço definido igual a 300. Agora, é importante
que não executemos nada ainda, porque
se executássemos
isso, definiremos
cada ponto de dados dentro dessa coluna como 300. O que queremos fazer
agora é definir qual função queremos
realmente definir esse preço. Então, queremos adicionar uma cláusula Ware. E, como sempre, uma ótima opção para usar é a
ID do produto para filtragem Então, digamos que sim, ID
do produto para a mesa de
pé, que é a linha que
queremos alterar, é dez. Então, produto. Então, vamos lá.
Nós reduzimos isso. Então, estamos apenas
alterando o preço para 300, onde o
ID do produto é igual E nesse caso, nós caímos. A ID do produto dez é a
mesa de pé, o que está correto. Esse é o que
queríamos atualizar. Então, vou
destacar e executar isso e pronto. Atualizamos uma,
atualizamos uma linha. E se selecionarmos tudo,
desde os produtos novamente, agora
temos o
preço atualizado da mesa de pé. Podemos voltar e
mudar isso para o valor original se o
preço cair novamente. E mais uma vez, temos 250. E agora nem é
preciso dizer que podemos atualizar mais de uma
coisa por vez. Então, na cláusula set, podemos adicionar uma pequena vírgula aqui e adicionar outra Então, digamos que queremos mudar
a categoria para outra coisa móveis de
escritório, em vez
de apenas móveis. E, sim, podemos executar isso. Atualizamos uma
linha, está correto. E se nós e nós
executarmos e se simplesmente
selecionarmos tudo, desde os produtos,
novamente, e
executarmos isso, agora temos uma
categoria atualizada para móveis de escritório. E, novamente, eu realmente
quero enfatizar que, se eu me livrasse desse filtro
, fizesse isso e o executasse, isso mudaria
tudo na tabela. Então, tudo seria
fixado no preço de 250, e cada categoria acabaria sendo mobiliário de
escritório. Portanto, você deve ter muito
cuidado e sempre ter algum tipo de filtro
ao atualizar os dados. Obviamente, existem inúmeras utilidades para atualizar dados, mas uma boa é que, você sabe,
se houver um erro de ortografia em uma categoria, você pode simplesmente dizer onde categoria é igual ao
que está escrito incorretamente e alterá-la E, é claro, com
a cláusula Ware, você pode ser tão criativo
quanto quiser com a filtragem e com o que está realmente atualizando
na tabela Nesse caso, estamos
atualizando por ID do produto, o que muda uma função, mas você pode fazer
o que quiser. Você pode mudar
as coisas por categoria, por preço, por quantidade de estoque, onde quiser,
você pode alterá-las. E esse é um
guia básico de como você pode atualizar os dados existentes em uma tabela. Agora, estou ciente
de que há muitas informações novas
neste capítulo, especialmente todas as novas
palavras-chave, como atualizar, definir, valores, excluir, inserir,
todas essas coisas. Mas, como sempre, a planilha e a folha de referência
estarão lá para guiá-lo, e você poderá usá-las quando começar a escrever
seu próprio código Como sempre, a melhor
maneira de aprender essas coisas é
fazendo e tentando, vendo o que funciona e
o que não funciona. E, honestamente, essa é
a melhor maneira de aprender.
20. Criando novas tabelas / restrições: Tudo bem Nesta lição,
quero falar um pouco mais sobre como criamos
tabelas em SQL. Também quero falar um pouco
mais sobre restrições de tabela. Além disso, no
final da aula, veremos
algumas maneiras rápidas de abordar
as coisas que estamos
fazendo neste capítulo. Talvez haja
maneiras mais rápidas de adicionar tabelas, alterá-las e também adicionar dados a essas tabelas No momento, eu só quero me
concentrar no código porque sem a
compreensão básica do código, é inútil fazer as formas mais rápidas, porque
você realmente não entende o que
está acontecendo no nível básico Por enquanto,
vamos nos concentrar em como adicionar tabelas usando SQL. Agora, se você leu um
pouco o código que copiamos e colamos logo no
início do curso, para criar uma tabela,
basta adicionar esse comando. Ótimo. Tabela. Não poderia ser mais simples.
E o que eu tenho aqui é apenas uma planilha do Excel com
informações sobre carros. Então, isso pode ser como as informações da
sua frota, seja, os carros que estão
rodando na sua empresa. Então, vamos usar esse
conjunto de dados para criar uma nova tabela. E esta planilha do Excel estará
nos recursos da aula para
você baixar e usar. Mas, por enquanto, vamos
chamar essa frota de mesas. Em seguida, vamos
adicionar alguns colchetes, e é aqui que vamos
definir os nomes das colunas,
os tipos de dados dessas colunas e quaisquer restrições em O bom de
já
ter um conjunto de dados aqui é que podemos simplesmente copiar os nomes das colunas desta planilha
do Excel Então, vou seguir em frente e fazer isso,
listar esses itens. Então, temos o modelo de fabricação. Ano, quilometragem, combustível
e último uso. Essas são todas as colunas que
existem na planilha do Excel. Verifique se
eles correspondem à planilha do Excel, pois isso
será importante posteriormente. Junto com essas colunas,
quero adicionar outra. Eu quero apenas dizer a identificação do carro, e esta será nossa coluna principal. Então, temos todas as colunas
que queremos na tabela. Em seguida, precisamos definir o que é
cada coluna em termos
de seu tipo de dados. Agora, nos recursos da lição, fornecerei um link
para este site aqui,
que é o site oficial do PostGress SQL
AKAPG Admin, e ele fornece uma lista
de todos os tipos de Então, dependendo do que precisamos, podemos usar qualquer um
desses tipos de dados. maioria das vezes,
você usará Varcar,
que é uma cadeia de
caracteres de comprimento variável, essencialmente texto, e
também usará números inteiros,
que são Também pode haver
outras coisas que você
usará , como dia do calendário, e isso está no
formato ano mês dia. Outro que
usaremos é serial
e o usaremos
com a coluna-chave. E o que o Serial faz é, como vimos no passado, um número cada
vez que você
adiciona uma linha. Portanto, à medida que você continua adicionando
valores a essa tabela, geraremos sempre um número de
chave exclusivo. Assim, você pode
dar uma olhada nessa lista de tipos de dados. Obviamente, há muitas coisas aqui. Você provavelmente não
precisará de tudo isso. Mas sim, concentre-se
apenas naqueles que você pode
precisar, como caracteres seriais, inteiros e variáveis,
e talvez também na data Então, vamos voltar à nossa declaração de tabela
correta e definir qual tipo de dados
cada coluna será Então, a identificação do carro, essa
será nossa coluna principal. Então, queremos fazer disso
um tipo de dados serial. A marca será de
caracteres variáveis, assim. Da mesma forma, o modelo, que será Varcar porque é apenas texto No ano, vou
fazer disso um número inteiro. Da mesma forma, com a quilometragem. O combustível, isso é só
a coisa da pasta de texto. Se olharmos novamente,
temos apenas uma mensagem de texto. Então, faça esse varcar e o
último usado nesta coluna, é um formato de data, então
usaremos essa data Agora, poderíamos executar esse código e ele criaria a
tabela com sucesso e teria
todas as colunas com os tipos de dados corretos. Mas o que queremos fazer é adicionar
algumas restrições a isso. Portanto, as restrições são usadas para especificar regras para os
dados em uma tabela E o que eu tenho aqui
neste comentário são algumas das principais
restrições que podemos usar Temos a restrição não
nula, que significa que a coluna
deve ter dados Temos uma restrição única. Todos os valores em uma coluna
devem ser diferentes. A declaração de chave primária
define a chave primária e faz com que a coluna não nula e exclusiva
ao mesmo tempo As restrições de verificação são muito úteis porque você pode definir um critério específico para a coluna que deve ser
atendido para adicionar dados Então, vamos adicionar
uma restrição de verificação à quilometragem, por exemplo, porque uma quilometragem não
pode ser negativa, então vamos garantir
que tudo o que
entra nessa coluna de quilometragem seja maior que entra nessa coluna de quilometragem E também podemos adicionar uma restrição
padrão, que define um
valor padrão para a coluna Então, vamos ver
o que precisamos fazer. Então, vamos
garantir que a
ID do carro seja a chave primária, para que possamos copiá-la e colá-la logo após o
tipo de dados, assim. E isso
garantirá que o
ID do carro seja do tipo de dados serial, mas também da chave primária. A marca e o modelo,
queremos garantir que
sempre haja uma marca e um modelo
na coluna. Então, vamos fazer com que isso
não seja nulo para ambos. O ano, sem muita
preocupação com isso, podemos
deixá-lo como está A quilometragem, queremos ter
certeza de adicionar um cheque
e, dentro desses colchetes, adicionamos o que queremos Então, neste caso, quilometragem. É maior que zero. Acabei de perceber que digitei
acidentalmente
quilometragem em vez de número inteiro para o tipo de dados Portanto, não há nenhum tipo de dados de quilometragem. Eu só quero esclarecer isso. Desculpe, isso é só
porque fiquei sem café e não
tomei meu café hoje. Mas sim, certifique-se de que esse seja
o tipo de dados correto. Portanto, a quilometragem é um tipo de
dados inteiro. Então, vamos seguir em frente e executar
isso. Então, vamos lá. Acabamos de executar isso e
retornamos com sucesso. E o que precisamos fazer é ir até o Object Explorer, clicar com o botão
direito do mouse, atualizar
e pronto Temos nossa frota. E
o que vou fazer é selecionar tudo da frota. E vou executar
isso,
não haverá dados porque não
adicionamos nenhum dado à tabela, mas temos nossas
colunas todas configuradas. Agora é aqui que podemos
começar a fazer nossa consulta de inserção, onde inserimos e
adicionamos os dados manualmente. Mas o que vou
mostrar aqui é como podemos pegar esse Excel e
importar os dados rapidamente. Então, o que vamos fazer é clicar com o
botão direito do mouse e subir para
importar e exportar dados. E vamos
entrar no nome do nosso arquivo aqui e escolher
o arquivo CSV Você quer ter certeza de
que é um arquivo CSV. Você não quer usar um arquivo do Excel porque
ele não funcionará. Tem que ser CSV.
Depois de obter seu arquivo, acessaremos Opções e verificaremos
se
a vírgula está selecionada
e, em seguida, veremos as colunas Agora, as colunas a serem exportadas, não
queremos adicionar o ID do cartão porque isso não está realmente
em nossa planilha do Excel. Acabamos de adicionar isso
à nossa tabela para nossa referência quando estamos fazendo colunas-chave e
junções ou qualquer outra coisa Então, basta se livrar disso, e então você deve
estar pronto para ir. Vamos apenas
clicar em OK. E depois de alguns instantes, deve
dizer que o processo é concluído. E se eu selecionar todos
da frota e
executá-los, aí está. Temos nossa mesa totalmente
preenchida. E como você pode ver, a identificação do carro já
está bem preenchida
para nós E essa é uma maneira muito rápida de adicionar uma grande quantidade de dados, especialmente se você estiver
usando planilhas do Excel Então, sim,
verifique se você está usando um arquivo CSV e se
as colunas coincidem em
termos de seus nomes, e se você está selecionando as colunas certas ao
importar E, como você pode imaginar, isso economiza muito
mais tempo do que
escrever um encarte para
cada uma dessas funções. Mas, sim, esse é o básico importação
de dados usando o Excel seguir, quero
mostrar alguns atalhos agora sobre como podemos criar tabelas, alterar essas tabelas,
etc., etc E a razão pela qual eu não
mostrei isso no início do capítulo é
porque eu queria
que você entendesse
o código em si e como
adicionamos tabelas e alteramos
essas tabelas usando SQL. É importante entender os processos que
acontecem em segundo plano porque talvez você
nem sempre tenha essa janela de criação de tabela e talvez precise fazer isso
manualmente usando o código. Mas eu desisti do segredo. Se você clicar com o botão direito do mouse nas
tabelas, crie uma tabela. Você tem uma boa janela, que basicamente faz a mesma coisa que
fizemos no código. Assim, podemos nomear nossa
mesa. Podemos adicionar colunas usando esse
sinal de mais aqui, Coluna um. Podemos alterar rapidamente o tipo de
dados. Então, vamos chamá-lo de serial. Podemos adicionar restrições aqui, chave
primária e não E podemos fazer isso com
quantas colunas quisermos. Também podemos entrar em restrições e podemos entrar em restrições de
verificação,
e podemos adicionar restrições de verificação Podemos chamar esse cheque de um. E então o que você digita
aqui é o que digitamos em nossos colchetes para que possamos fazer, você sabe,
algo assim Você pode adicionar várias restrições
diferentes e alterar os parâmetros Tudo isso é algo bastante
avançado. Você não precisa saber
muito sobre isso. Mas, por fim, você obtém,
no final, um código
gerado para você E sim, eu sei como isso é muito mais fácil, mas é claro agora você pode ler esse código SQL e entender o que está acontecendo, em vez de apenas
usar essa tabela e inseri-la
cegamente E, claro, podemos clicar com o botão
direito do mouse e
acessar as propriedades
de uma tabela existente, alterar os nomes das colunas,
alterar os tipos de dados. Mas também há um comando
aqui, se clicarmos com o botão direito do mouse, podemos acessar os
scripts e, em seguida ele tem alguns
modelos que podemos usar. Então, se quisermos inserir dados, podemos ir até isso
e inserir o script. E isso gerará basicamente
um modelo que podemos usar
e, em seguida, podemos simplesmente inserir
nossos valores onde estão esses pontos de
interrogação E sim, isso é muito mais fácil, e me desculpe por ter deixado isso
para o último minuto. Mas é exatamente o jeito
que eu queria te ensinar, e você provavelmente vai me
odiar por isso. E sim, existem scripts de criação,
seleção e configuração, atualização e exclusão que você pode usar e que são ótimos como modelos. Mas sim, é bom saber como eles estão
realmente funcionando. Mas sim, vou
deixá-lo lá por enquanto. Agora você sabe como criar
uma tabela usando o código QL, mas também como fazer isso no software de administração
do PG. Agora você também sabe como
importar grandes blocos de
dados, como
planilhas do Excel, para o PG Admin, usando a opção de importação e exportação Mas sim, divirta-se, algumas tabelas, crie restrições, veja se você pode adicionar dados
ou quando você pode adicionar dados
e, sim, divirta-se com