SQL básico: introdução às consultas de banco de dados | Mark Florian | Skillshare

Velocidade de reprodução


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

SQL básico: introdução às consultas de banco de dados

teacher avatar Mark Florian, Software Developer

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

12 aulas (1 h 29 min)
    • 1. Trailer

      0:55
    • 2. O que é o SQL?

      6:27
    • 3. Como instalar o SQLite no SQL Lite e criar nosso banco de dados

      3:34
    • 4. Como criar tabelas e inserir dados em tabelas em em em

      Lesson3_CreateInsertData.txt
      6:01
    • 5. Consultas de tabela em único (simples)

      Lesson4_Exercises_Simple.txt
      9:24
    • 6. Soluções: consultas de tabela única (simples)

      Lesson4_Solutions_Simple.txt
      5:16
    • 7. Consultas de tabela única (a Avançado)

      Lesson5_Exercises.txt
      9:52
    • 8. Soluções: consultas de tabela única (de de segundo plano) (Advanced)

      Lesson5_Solutions.txt
      7:08
    • 9. Participe

      Lesson6_Examples.txt
      Lesson6_Exercises.txt
      13:38
    • 10. Soluções: se joins para

      Lesson6_Solutions.txt
      9:13
    • 11. Subqueries

      Lesson7_Examples.txt
      Lesson7_Exercises.txt
      7:43
    • 12. Soluções: Subqueries

      Lesson7_Solutions.txt
      10:09
  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

2.267

Estudantes

2

Projetos

Sobre este curso

SQL é a linguagem de banco de dados que permite que você tenha a entender os dados por quase todos os sites e empresa de internet.

Já está em uma empresa de tecnologia há um par de anos e aprendi uma verdade universal: a pesquisa de dados de todos. A solicitação mais comum de que eu como um engenheiro de software é "puxar alguns dados" do nosso banco de dados. O que eu perceba é que sobre sobre 95% dessas solicitações em sobre em sobre 95% em uma de nos meus de que a de de que de de de que o de de que eu em de e de seus pedidos de

Com as informações neste curso você vai poder entender, para acessar e medir seus dados e comportamento do usuário. Quer você seja um empresário, analyst, ou do mercado, o SQL pode ajudar você a executar mais inteligente e mais rápido!

49f7375a

O que você vai aprender

  • Fundamentos do SQL Vamos falar sobre bancos relacionais e o que SQL pode fazer com uma de banco relacional.
  • Como configurar nossos Ambientes. Vamos configurar nossos ambientes para que possamos executar os comandos do SQL em conjunto.
  • Como criar dados. Você vai criar sua própria mesa e a de a de de a sua
  • Quas de tabela única. Vamos abordar os conceitos básicos que vai permitir que você a de a sua única mesa, incluindo a de DOde de uma de única mesa, incluindo o DOde de a
  • Se somar. Vamos abordar as Joins e como é importante para a definição de dados relacionais entre mesas.
  • Subconsultas em que a Você vai converter as joias em subqueries. equivalentes.

O projeto

  • Entrega.  Seu projeto final será criar um banco de dados e consultar no SQL.
  • Perguntas de guia Que o tipo de dados você vai criar? Como você vai classificar esses dados? Como seus conjuntos de dados se relate em de se em de outro? Qual é a maneira correta para obter dados?
  • Colaboração.  Peça a seus colegas de a seus colegas de a sua turma sobre seu conjunto de dados. Como você pode criar dados mais precisos? Quais métodos de recuperação funcionam para resolver suas suas consultas na perspectiva ?

Ao final do curso, você vai criar seu próprio banco de dados para consulta de busca usando o SQLite, e vai ser capaz de editar e editar e consultar em seus próprios

Vamos começar!

Conheça seu professor

Teacher Profile Image

Mark Florian

Software Developer

Professor

I am a full-stack engineer for a tech startup in New York. While I develop for more than just the data layer of an application, I find that database knowledge is the most valuable for someone in a non-technical or analytics role. I have taught dozens of students and colleagues the basics of SQL to enable them to work more efficiently, and I'm excited to share this knowledge with a wider audience.

Visualizar o perfil completo

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%
Arquivo de avaliações

Em outubro de 2018, atualizamos nosso sistema de avaliações para melhorar a forma como coletamos feedback. Abaixo estão as avaliações escritas antes dessa atualização.

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui cursos curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

2. O que é o SQL?: - Ei, pessoal. - Bem-vindo ao Sequel 101 introdução aos bancos de dados. - Obrigado por subscrever a turma. - Espero que você possa se beneficiar de seu conteúdo. - Vamos falar um pouco sobre a aula e o que vamos fazer eu mesmo. Trabalhei como engenheiro de software para uma empresa de tecnologia em Nova York há alguns anos e trabalho muito com Sequel e presumivelmente você ainda não conhece Sequel. - Talvez você faça um pouco e você quer refinar suas habilidades ou talvez apenas aprender algo - novo. - E a razão pela qual eu queria ensinar este curso inicialmente está na minha linha de trabalho. - Eu tenho pessoas vindo ao meu escritório muitas vezes pedindo para você puxar os dados deles ou eles vão Samar. Preciso saber quantas vezes o evento X ocorreu no mês passado e,você sabe, qualquer que seja a você sabe, forma em que a pergunta é feita, sempre se resume a uma consulta de sequela, e a coisa é, - a maior parte do tempo. - É uma consulta de sequela bem simples, - e eu sei que as pessoas me perguntando eu sei que eles têm a capacidade de entender como - escrever a sequência eles mesmos - interesse que eles não tiveram o tempo ou a exposição à sequela. - Então, a força para vir a alguém como eu na grande parte sobre Sequels que os autores - pretendia escrever a linguagem de tal forma que você poderia entender o que um er consulta - declaração está fazendo como se você estivesse lendo em Inglês simples. - Então isso torna relativamente fácil de aprender e entender. - E é um conjunto de habilidades muito poderoso. - Proporciona uma grande oportunidade para impactar positivamente o seu trabalho. - Então aqui estão os tópicos que vamos abordar. - O que? - Sequela ISS. - Só uma visão geral. - Nós vamos configurar o nosso ambiente para que todos possamos executar consultas de sequela juntos e - obter alguma experiência prática sobre a qual vamos falar cria uma inserções brevemente porque nós - precisamos criar um banco de dados a fim de consultar contra ele. Vamos focar a maior parte do nosso tempo em consultas de tabela única, ambos simples em Advanced junta-se em sub consultas. E se você nunca ouviu falar de alguns desses termos antes, então está tudo bem e o propósito desta aula. - Então vamos saltar para dentro. - Então, o que é sequela? - Significa linguagem de consulta estruturada. - É uma linguagem de programação que é projetado para acessar e manipular conjuntos de dados que - vivem dentro de um banco de dados relacional em um banco de dados relacional. - A melhor maneira de pensar nisso é apenas um conjunto de mesas. - Cada tabela é definida por uma de suas colunas, - cada coluna representando um atributos diferentes da tabela e, - você sabe que uma tabela pode representado objeto novamente. - Chega é uma pessoa. - Pode representar qualquer coisa sobre a qual você queira armazenar dados. Aqui está um exemplo de uma tabela de alunos, então esses alunos podem representar uma sala de aula, e há quatro colunas que têm atributos do aluno. - E então há uma coluna adicional chamada Student I D. - Então cada tabela em um modelo de banco de dados relacional deve identificar uma coluna ou um conjunto de colunas - como a chave primária da tabela. Isto não é um requisito, mas é melhor praticar. - Certifique-se de que cada tabela tem uma chave primária. - Este é um conceito muito importante. - Esta coluna é única, - lembre-se, - contida você vai obter valores em uma vida real. Exemplo disso são os números da Segurança Social nos EUA todos são identificados por um número de Segurança Social, e não há nenhum número de Segurança Social que represente mais de uma pessoa. Então, é um identificador único para as pessoas, a chave primária nesta mesa de estudantes e a razão pela qual as chaves primárias são tão importantes. Uma das razões pelas quais devo dizer é que nos fornece um mecanismo de criação de relações entretabelas diferentes no nosso banco de dados. Uma das razões pelas quais devo dizer é que nos fornece um mecanismo de criação de relações entre - Então, - continuando este exemplo, - nós também podemos ter uma tabela em nosso banco de dados que contém endereços de correspondência de alunos. - Agora esta tabela tem cinco colunas descrevendo os atributos de um endereço de correspondência e, em seguida, um - address i D, - que seria a chave primária desta tabela. - E por último, - poderíamos ter uma tabela que contém um mapeamento de idéias de estudantes para abordar I DS com essas três tabelas, - agora temos todas as informações que precisamos para ver onde todos os alunos da sala de aula vivem, - o que é legal. - Então vamos diminuir um pouco e olhar para as três mesas juntas. - Então, começando com a tabela de mapeamento, - vamos tomar, - por exemplo, - mapeamento de endereço de estudante I d. - Então o que isso diz é estudante com o aluno I D para o qual é Sandy Squirrel pertence - endereço I D 344 história Boulevard. - Então isso realmente representa o núcleo de um banco de dados relacional. - Então não vamos voltar à sequela. - Então, o que é sequela Permite-nos fazer com relação Database nos permite recuperar dados permite - nos inserir novos dados no banco de dados, - atualizar dados existentes, - excluir dados do banco de dados, - criar novas tabelas e relacionamentos na base de dados, - criar exibições e procedimentos armazenados no banco de dados e criar novos bancos de dados. - Então, - como eu disse antes, - é a linguagem que usamos para interagir e manipular o banco de dados relacional. - Então um pouco mais sobre sequela. - É a linguagem é escrita e usada através de algo chamado de banco de dados relacional - sistema de gerenciamento ou já B. - M s, - alguns sistemas comuns de gerenciamento de banco de dados. - Você pode ter ouvido falar do nosso servidor de sequelas da Microsoft ou chamar minha sequela Access. - Então, todos esses sistemas de banco de dados eles herdam do mesmo conjunto de regras de sequela em - comandos e, adicionalmente, têm suas próprias extensões para fornecer flexibilidade e facilidade de uso -. - Ao escrever sequela eso nesta classe será cobrindo os comandos de sequela padrão, - usando uma variante leve do acima mencionado que chamado Sequel Light e C vai colocar. É uma biblioteca de código aberto que implementa um mecanismo de banco de dados de sequelas auto-contido, que não requer servidor. - Isso é um bocado, e não é particularmente útil para esta aula. Mas o que isso basicamente significa é que podemos facilmente configurar nossos ambientes e podemos estar no Windows. - Lennix. - Contanto que você tenha Mozilla Firefox será capaz de se configurar muito rápido e entrar no - material bom ainda mais rápido. - Então, antes que este tutorial termine, - Eu só queria dar uma olhada rápida na ferramenta que será usada nesta classe. - Chama-se Sequel Light Manager, - e é um complemento para Mozilla Firefox. - A próxima lição. Vamos configurar isto nos seus ambientes para podermos consultar as coisas juntos, por isso vou sair rapidamente. - Consulta típica. - I Click Run sequela. - Podemos ver o que isso faz. - Muito básico. Estamos presos no primeiro nome e sobrenome de uma tabela chamada Student. Vamos passar pelo que tudo isso significa em futuros tutoriais. - Eu só quero dar uma olhada no que vai estar fazendo 3. Como instalar o SQLite no SQL Lite e criar nosso banco de dados: Ei, pessoal, Ei, pessoal, bem-vindos de volta à sequela 101 para a lição dois. Estaremos configurando nossos ambientes que podemos começar a consultar em um banco de dados aqui. - Os pré-requisitos e etapas de instalação esquecendo o gerenciador de luz sequela para cima e em execução - você mesmo. Vamos passar por isso juntos em um tutorial de elenco de tela, mas isso você pode usar como referência se quiser tentar, configure você mesmo. Mas eu vou continuar com o vídeo tutorial para que vocês possam acompanhar o que eu faço, e vamos começar a correr num instante. - Vamos em frente e abrir Mozilla Firefox e navegar para as apostas U. - N L na classe de compartilhamento de habilidades, - página ou apresentação. - Isto é o que você vê quando você abre a página web e nós temos que clicar. - Adicionar ao Firefox aqui, - e ele vai perguntar se você quer instalar um anúncio que é de um potencialmente não confiável - twitch autor, - você pode responder Sim, - eso. Assim que o instalarmos, vai pedir-nos para reiniciar o Firefox. - Então vamos em frente e fazer isso. - Aqui vamos nós. - Então é o Firefox Open abre novamente. - Se abrirmos o menu de ferramentas. - Você vai notar que agora há algo e eles são chamados de gerente secretamente. - Então vamos abrir esse cara. - E isto é o que você vai ser apresentado sem nenhum banco de dados. - Esta é a interface de usuário padrão que você verá. - A primeira coisa que precisamos fazer é criar um novo banco de dados. Vamos fazer isso no menu de bancos de dados, basta clicar em novo banco de dados. Podemos chamar um banco de dados do que quisermos. - Vou ligar para a minha sala de aula porque isso é que vamos continuar usando este exemplo de uma aula e alunos eso é bom e criar isso. Vai nos perguntar onde queremos salvar o arquivo do banco de dados. - Não importa. - Seja qual for. - Seja qual for o diretor que você escolher, - ele será padrão para a próxima vez que você abrir o gerenciador de luz sequela. - Estou guardando a mente para apenas DVDs de barra de área de trabalho, - então apenas diga, - selecione a pasta. - Aqui vamos nós. - Vamos fazer um pouco de exploração para nos familiarizarmos com a adição. - Então aqui vai ser o nosso que vamos chamar nosso editor de consultas para que possamos escrever nosso seleto - declarações aqui. - É isso que me viu fazer mais cedo? - Um ponto potencial de confusão é que algumas pessoas têm aberto secretamente gerente antes e o - guia o correto não foi selecionado. - Então, se você abrir o seu gerenciador secretamente em uma dessas outras guias selecionou, - apenas certifique-se de alterá-lo para executar sequela e deve ser bom para ir outra área vai - foco em é sobre este lado. Vai especificar que tabelas temos disponíveis no nosso banco de dados, que agora não é nada. - Então o próximo que queremos fazer é puxar para cima o arquivo de texto de script que também está na habilidade - página de aula de compartilhamento, - e isso vai parecer algo assim. - É só um arquivo de texto longo. - Vai criar a base de dados para nós. - Então nós vamos fazer aqui é apenas selecionar todos copiá-lo e colocá-lo em nosso editor de consultas. - E uma vez que clicamos em executar sequela, - notamos que não havia um erro quando executamos, - e esta nossa guia de tabelas foi de 0 para 5. - Isso é fixe. - Então isso é tudo o que é necessário para criar o banco de dados dentro de nossas raças a partir do editor de consulta . - Além disso, - eu só quero mencionar se em algum momento de qualquer lição, - por algum motivo, - nós corrompemos nosso banco de dados e as coisas são insaciáveis. - Nós sempre reexecutamos o script de criação e ele vai apagar tudo e recriá-lo e - colocá-lo de volta no estado que é credível. - E, - sim, - é isso. - Então agora estamos prontos para ir. E só para provar que funcionou, vamos fazer o mesmo Corey que fizemos antes. - Lá está ele. 4. Como criar tabelas e inserir dados em tabelas em em em: Ei, pessoal, Ei, pessoal, bem-vindos ao “ Menor Três “intitulado Criando Dados. - Na última lição, - nós executamos um script de criação em nosso banco de dados, - e o que isso fez essencialmente foi criar um número de tabelas de banco de dados e colocar dados nessas tabelas. E no caso de você estar se perguntando como isso aconteceu ou você está procurando o roteiro e tentando dissecá-lo e entender, eu só queria cobrir brevemente como criar um incidente. - Dados. - Vamos ver se crio uma declaração. - Esta é a forma que toma. - Nós sempre começa com as palavras criar tabela, - e, em seguida, você especifica um nome de tabela que você deseja ser criado. - Isto é seguido por uma frente aberta para ver aqui e, em seguida, um nome de coluna, - espaço tipo de dados espaço opcionalmente uma restrição que eu estou em uma restrição pode ser algo como - especificando que é a chave primária da tabela, - especificando se ou não você exigiu ter valores lá. - Então aqui está a parte real do script que criou nossa tabela de estudantes. - Eu modifiquei ligeiramente para ser nomeado estudante para a razão que eu fiz isso é porque nós - já temos uma tabela de estudantes no banco de dados, - e haveria um conflito se tentássemos criar uma tabela diferente com o mesmo nome. - Então olhando para isso aqui nós temos, - ah, - criar o nome da tabela. - E nós especificamos nossos cinco nomes de colunas aqui, - como você já viu antes - e estes os tipos de dados associados a essas colunas. - Então vamos olhar para os tipos de dados por um segundo nós. - Temos inteiro e um inteiro é apenas um número inteiro em um banco de dados secreto. - É um número inteiro especificamente entre os valores. - 2,147,483,648 negativos em positivo. - 2.147.483.647. É uma grande variedade, mas você sabe que há. - Existem outros tipos de dados, - como um grande número inteiro, - por exemplo, - que permitem armazenar intervalos ainda maiores de valores. - E muitas vezes são esses grandes emissores que são usados como a chave primária de tabelas. - Se você espera que a mesa fique muito grande, - esta é uma mesa de sala de aula de alunos. - Eso nunca deve exceder nunca deve exceder 2,14 bilhões. - Incrível. Estamos seguros usando apenas uma entrevista aqui. - Então há há há há Var Char 100. - O que isso é basicamente uma string ou valor de texto que não pode exceder 100 caracteres, então usamos isso para nome e sobrenome. Também há algo chamado hora de encontro, e isso é exatamente o que você esperaria. - É uma data e, opcionalmente, uma aspirina de tempo. Use isso para a nossa coluna de aniversário e, novamente, usaremos inteiro para um número de classes. - Então aqui nós estamos especificando esse primeiro nome, - sobrenome um número de classes não é conhecido no que não não significa que sempre que você inserir - dados nesta tabela, - você é - dados nesta tabela, obrigado a ter um valor para essas colunas. Nunca podemos puxar um registro do aluno para a mesa que tenha um sobrenome, mas nenhum nome. Então aqui, só com o propósito da demonstração, estou fazendo a coluna de aniversário nula. - Então isso significa que podemos ter todos os dados de um aluno e não saber qual é o aniversário deles aqui em cima. - Quando especificamos a chave primária, - uma das restrições que está implícita em uma chave primária é que ela não é conhecida, - então essa coisa vai realmente incrementar-se automaticamente toda vez que você inserir um registro na tabela -, - a instrução insert funciona da seguinte forma. - Nós inserimos na frente aberta nome da tabela para ver o nome da coluna um vírgula, - o nome da coluna dois vírgula, - o nome de qualquer coluna que você deseja inserir dados. - Então você diz valores. - E então você tem este conjunto separado por vírgula de dois pólos onde vamos especificar os valores - que queremos incidente. - Cada coluna. - Então, nesta instrução insert, - cada uma dessas linhas aqui representa uma linha em nossa tabela de banco de dados. - Aplicando isso ao nosso exemplo, - nós vamos inserir no aluno o primeiro nome, - número de aniversário sobrenome de classes, - valores. - E aqui, - quando estamos inserindo um valor em de arco nosso tipo de dados, - nós temos que cercá-lo com aspas simples. - Isso ocorre porque você pode ter espaços e outros caracteres especiais em um gráfico de barras dados - tipo, - e nós temos que dizer sequela quando você deve começar e parar de processá-lo. - Então é assim que funciona. Fazemos a mesma coisa para encontros aqui, inteiros que você não precisa, não precisa desse tratamento especial. - Você poderia apenas dar-lhe o número inteiro, porque ele sempre será apenas um número inteiro e - sequela vai saber quando começar e processar o valor que você especificar. - Se você notar aqui, - nós realmente não temos estudante i d em nosso conjunto de colunas que foram inseridas em, - e isso é porque é uma chave primária. - E uma das coisas que nossa chave primária fará é incrementar automaticamente. - Toda vez que você inserir um registro na tabela, - vamos em frente e abrir o gerenciador de luz Sequel e executar a declaração de criação e ver o que - acontece. Então você vai abrir, vai usar o diretor que escolheu seu arquivo de banco de dados. - Então você ainda deve ter suas cinco tabelas que criamos na última lição. - Alguns dos copiar e colar a consulta de tabela criar a partir da apresentação em Here and Run - sequela e vamos ver o que acontece. - Então, não em erro. - E então, - se você notar aqui na seção da tabela, - nós fomos de 5 para 6 mesas e agora temos um aluno para a mesa. - Nós gastamos ele vai ver as colunas que são especificados Student i d. - Primeiro número de aniversário sobrenome de classes. E agora que temos um aluno para a mesa, vamos inserir alguns dados nele. - Então eles têm sobre uma consulta de cópia e colagem que está na apresentação. - Então nós clicamos em executar sequela aqui, - não em erro. - Você não pode dizer que nada aconteceu. - Ele tem alertado qualquer coisa. - Mas se executarmos a instrução select de estudante para, - então veremos que há duas entradas lá, - e elas são exatamente como nós as especificamos. 5. Consultas de tabela em único (simples): - Olá outra vez. Começando com essa lição, vamos começar a consultar tabelas e ver o que realmente está em nosso banco de dados que criamos nas lições anteriores. Então, a maneira que vamos fazer isso é eu vou dar a vocês um exemplo de uma consulta, e então vamos dividi-la em, cavar em alguns dos componentes dessa consulta e, em seguida, levá-lo para nossa luz secreta - gerente e executá-lo juntos e ver como ele se parece. - Assim é o primeiro exemplo. - Vimos alguma forma disto nas três lições anteriores. E como eu disse antes, a intenção da sequela era ser escrita de forma que você pudesse ler uma consulta de sequela e entender o que está fazendo como se fosse inglês simples. a intenção da sequela era ser escrita de forma que você pudesse ler uma consulta de sequela e - Você pode ver isso aqui. Estamos selecionando certos atributos desta tabela chamada Estudante, onde alguma condição é atendida. - E aqui está o detalhamento da consulta, - a cláusula from, - que é necessária. - Será sempre parte de qualquer consulta que você escrever isso Isso vai ser usado para - especificar o nome ou os nomes das tabelas que você gostaria de consultar. - Esta lição na próxima lição. - Será sempre uma única tabela, então eles sempre serão um nome de tabela nesta causa. - Veremos em futuras lições que você poderia realmente incluir mais de uma tabela em uma consulta - resultado. A cláusula “where “é a próxima coisa que vai ser processada logicamente, e isso vai ser usado para especificar alguma expressão ou condição, que eu retornei da cláusula “from”. - E por último, - a cláusula select também é necessária, - e isso é nós vamos especificar as colunas que você deseja retornar o conjunto de resultados. Então vamos abrir isso em nossa sequela, gerente de luz e terno. Parece que quando o executamos, você deveria. - Você deve ir em frente e fazer isso comigo, - ou até mesmo pausar o vídeo neste momento e tentar você mesmo e depois retomar e certificar-se - que temos os mesmos resultados. Então eu vou copiar este exemplo e colá-lo no nosso editor de consultas e clicar em executar sequela, e ainda não vimos como toda a nossa tabela estudantil se parece. Mas pelo que acabamos de discutir, tendo uma condição em que o sobrenome é igual a Simpson, isso vai colocar uma condição em um conjunto de resultados que eu só quero ver registros onde isso é verdade. - É exatamente o que vemos aqui. - Neste exemplo, - vemos algumas coisas novas. - Vemos este Asterix aqui onde chamamos de estrela ao escrever sequela Select Star de - Tabela. - Nós também vemos em ou condição e a palavra em. - Então vamos ver o que isso significa tese. - O nosso personagem. - É um personagem especial e sequela que basicamente se traduz para a palavra “tudo ” . - É extremamente útil. - Se você quiser apenas ver a definição de uma tabela, - você pode abrir seu gerenciador de luz secreto em Just Select Star a partir de qualquer coisa, - e ele irá apenas sempre listar todas as colunas que a palavra-chave ou em. - Além disso, - que não é mostrado aqui. - A palavra-chave e são palavras-chave sequela usadas na cláusula where para basicamente juntar turnê Mawr - condições de filtragem. - A palavra-chave in é usada na cláusula where para especificar um conjunto de valores que você deseja que sua condição - para corresponder. - Então, neste exemplo, - nós vamos retornar todas as colunas para qualquer aluno que tenha um primeiro nome igual a - Peter ou um sobrenome igual a qualquer calça quadrada ou Simpson. - Então é assim que funciona. - Vamos trazer essa consulta para o gerente de luz secreto e ver o que isso faz. - E pode até ser pausado para as mulheres aqui e tentar adivinhar quais serão os resultados antes de executá-lo. Então, como esperado, todos os alunos da nossa turma têm o primeiro nome Peter, ou o sobrenome das calças quadradas ou do Simpson será listado aqui, e usamos o Astérix ou o personagem estrela. - Então nós também estamos vendo cada coluna que está na nossa mesa de estudantes, e podemos verificar isso olhando para a nossa definição de tabela. - Se expandirmos o estudante, vemos isso lá. - 12345 colunas. - E é exatamente o que vemos aqui. Agora pode ser uma boa altura para ver como é a nossa mesa de estudantes sem quaisquer condições, já que ainda não fizemos isso. - Então você deve ter notado que a consulta secreta acabou de ser executada sem eu clicar em Executar sequela -. E isso é porque eu tenho usado um atalho como um F. - Y. - - Se você segurar o controle e clicar em semi dois-pontos, então você poderia ter o mesmo comportamento. - Além disso, - se você passar o mouse sobre executar sequela irá dizer-lhe qual é o atalho. - Mas aqui está uma olhada em toda a nossa mesa. - Temos 10 alunos na turma. - Este é o nosso conjunto completo para estudantes. - Então a única coisa nova que vemos neste exemplo é esta palavra-chave não, e isto essencialmente é usado para negar uma condição. Então isso vai nos dar todos os atributos da mesa estudantil, onde há um registro cujo sobrenome não é Griffin ou Simpson. Então vamos ver como isso se parece em nosso banco de dados e novamente, como esperamos com o sobrenome não é um desses dois que nós especificamos. - Como estamos executando essas consultas, provavelmente seria útil para você pausar a qualquer momento e fazer alguma exploração. - Talvez tente especificar algumas de suas próprias condições de filtragem. Aqui está um truque legal que você pode usar no gerente de luz secreto. - Então, Dash Dash vai realmente comentar qualquer linha que você colocou em. E daí? - Isso vai dizer que o editor de consulta é processar tudo nesta consulta, - exceto para todas as linhas que têm esses dois traços na frente deles. - Então, se eu clicar em Executar sequela agora, - vamos realmente estar executando a consulta Selecionar Estrela do Estudante. - Há uma espera rápida para comentar coisas que você não quer que sejam processadas. Então, se eu rodar sequela aqui, eu poderia agora ver toda a visão da tabela novamente. Então, neste exemplo, vemos algumas coisas novas. - Vemos essa palavra-chave como, - e vemos também esse sinal de porcentagem que está ao lado da letra M assim, - como é usado para procurar por uma string especificada ou padrão de texto em alguma coluna. E uso a palavra padrão porque é usada quando queremos, para combinar com algo que pode variar em comprimento. - Por exemplo, - nós também temos este curinga, - o sinal de porcentagem, - e esta coisa é usada com um operador semelhante para especificar que você quer ter zero ou mais - de qualquer personagem. - Então o que esta consulta vai realmente fazer é nos dar todas as colunas da tabela de estudantes, - onde um registro tem um primeiro nome que começa com a letra M. - Um caractere curinga semelhante é apenas o sublinhado, - que permite que você corresponder em qualquer caractere único. - Então, - por exemplo, - se este sinal de porcentagem foi substituído por um sublinhado que estaríamos combinando onde o - primeiro nome de qualquer registro começou com eles, mas tinha apenas dois caracteres de comprimento - eu vou trazer isso um em nosso gerente de luz secreto e ver o que temos lá. - Então temos dois alunos com o primeiro nome que começa com M. - Vamos ver se dizemos sobrenome como pergunta. Sei que há uma tonelada dessas, então o Conde é a nossa primeira sequência, função agregada que vimos. - E o que isso está dizendo é que eu quero basicamente contar o número de linhas que estavam retornando - a partir desta consulta, - e esta consulta não tem filtro where. - Então é essencialmente apenas para contar o número de registros na tabela de estudantes. - Agora a palavra-chave como é simplesmente usada como um alias para uma coluna que você está retornando em seus - resultados, - que usamos isso para fazer resultados que mais legíveis quando estamos fazendo um agregado - função ou uma coluna calculada que ver mais tarde, - poderíamos renomear a coluna real em nosso conjunto de resultados para fins de legibilidade. - E então vamos ver como este se parece. Certo, como podem ver, acabamos de retornar uma única coluna na coluna Nome são estudantes entorpecidos, e isso é porque temos pseudônimo esta coluna como tal. Se entrarmos nessa parte, verá que quando executarmos isso, dirá explicitamente, Conde Star para que você possa ver como o apelido Incan é importante para a legibilidade, como eu não sei o que O que conta estrela significa neste contexto, mas se eu incluir o pseudónimo lá, pelo menos tenho uma ideia do que estou a ver. - Então nós temos uma boa quantidade de vocabulário novo aqui, - e eu acho que seria útil se você fizesse uma pausa por um momento e realmente dar uma olhada - esta lista e para cada um para cada termo. - Basta tentar lembrar o que ele está fazendo para a consulta sequela ou como ele é usado na sequela - Query. Isso vai ajudar você a entender o que está acontecendo, e eu também encorajo você a abrir o gerente de sequelas e mexer lá dentro o máximo que você - possivelmente - porque essa é realmente a melhor maneira de aprender. - Então use tudo o que cobrimos hoje para criar suas próprias consultas e explorar os dados - conjunto. Então, antes que esta lição termine, vou deixar-vos com um conjunto de exercícios que acho que vão ajudar-vos a compreender o que fizemos hoje. - E vamos começar a próxima lição com a solução definida para estes exercícios. - Então eu realmente encorajo você a dar uma olhada nisso e tentar descobri-los antes começar a próxima lição. - E sim, vejo-te depois. 6. Soluções: consultas de tabela única (simples): - Então agora você já deveria ter tido a chance de olhar para os exercícios de Lição para e dar uma chance de fazê-los você mesmo para que levasse algum tempo e revisasse as soluções juntos. - Se isso for desnecessário para você. - Se você tem alguma experiência com sequela e eles foram fáceis para você, - então você pode ir em frente e pular esta lição completamente. - Então vamos mergulhar nisso. - Aqui estão eles. - Vou colocar isso na nossa gestão secreta de luz em um de cada vez e passar - através das soluções e então entraremos na Lição 5. - Aqui está o primeiro exercício. - Receba o primeiro, a menos que seja novo de todos os alunos. - Eu só vou acelerá-lo para a janela do editor de consulta sequela dentro e apenas comentou para fora para que nós - pode apenas estar lá enquanto estamos escrevendo a consulta. - Já vimos algo semelhante a isso em algumas lições antes, - então obter o primeiro e sobrenome tipo de nos diz o que a instrução select deve ser. Todos os alunos estão nos dizendo que está na mesa de estudantes, então lá vamos nós, fácil o suficiente. - Então você me vê mudando de maiúsculas para minúsculas. Aparentemente esporadicamente, e a razão pela qual faço isso é uma realidade. - Não importa se você usa maiúsculas ou minúsculas, - ele será interpretado da mesma maneira. Tento usar maiúsculas quando escrevo uma palavra-chave. Se você me ver bem selecionando minúsculas, não é porque significa algo diferente do selecionado. - É uma maiúscula. - É só porque é mais rápido para mim escrever. - Então é uma corrida, - esta aqui, - e chegar ao 2º 1 aqui. - Eu vou abordar esta consulta um pouco diferente e que eu vou começar com o - conjunto de dados que queremos selecionar. - E essa é a mesa dos estudantes. - Então pegaremos o primeiro e o último nome. Desculpem, queremos saber o primeiro nome e aniversário de todos os alunos que tenham mais de quatro aulas. - Então é a partir da tabela de estudantes que vamos selecionar e onde o número de - classes é maior que quatro. E não me lembro exatamente como se chamavam os nomes das colunas, então usarei uma estrela para ver o que são todos, e então posso refinar o filtro e fazer o que pedimos, que é o primeiro nome e aniversário. Mas posso ver aqui que os nomes das colunas são o primeiro nome e aniversário, então essa seria a nossa solução lá. - Então o próximo exercício é obter o primeiro nome de todos os alunos que o sobrenome termina com fim. Vimos um semelhante na lição em que conseguimos todos os alunos cujo primeiro nome começou com M. Então isso é apenas uma variação disso. - E novamente ele vai ser da tabela de estudantes onde o sobrenome assim termina com fim é o - o mesmo que dizer que vai coincidir com um padrão. - Isto é, - que é como um zero ou mais letras terminando com a letra, - e é assim que faríamos isso lá. - Só queremos o primeiro nome. Então, indo para o próximo exercício, obtenha todas as informações sobre qualquer aluno cujo sobrenome seja Simpson ou estrela. Então, da tabela de estudantes onde o sobrenome é Simpson ou estrela, vamos usar isso em palavra-chave porque queremos combinar um nome de coluna algo. - Está em um conjunto e novamente notar como eu cerco cada nome com aspas simples porque é - na verdade um tipo de dados de gráfico de barras, - e isso é o que precisamos fazer para sequela. - Para interpretá-la corretamente em todas as informações será selecione Estrela. - Então o último exercício foi este. - Aqui vem o número de alunos que têm a corda um fim em algum lugar em seu primeiro ou - sobrenome. Este é um pouco mais complicado, mas qual é a abordagem da mesma maneira? - Então é do estudante onde então o onde. Cláusula da parte complicada aqui e queremos estudantes, onde a string literal a N está em qualquer lugar em seu nome. Então vamos acabar usando nosso curinga de novo. - Vamos processar o primeiro nome primeiro. - Então, ou vai ser o caso que o primeiro nome é como algo A e algo - para o sobrenome é como algo em algo - e nós queremos realmente contar o número de linhas que retornaram a partir disso. Então, há dois, e se você estiver curioso, você pode remover a contagem e ver através da turnê. E estes dois discos combinam porque a calça Sponge Bob Square tem a corda literal um n em seu sobrenome bem aqui, e Sandy Squirrel tem a corda literal A em seu primeiro nome 7. Consultas de tabela única (a Avançado): - Ei, - pessoal, - bem-vindos a diminuir cinco de Sequel 101 e esta lição vamos continuar a cobrir uma única tabela - consultas. - Essas consultas serão um pouco mais avançadas do que o que estavam na lição. - Neste exemplo, - vemos algumas coisas novas. - Vemos a palavra-chave alguns, - e então vemos esta expressão dentro dos parênteses. - Então, alguns são a segunda função agregada sequela que vimos até agora. E como o nome sugere, isso leva a soma da sequência numérica da coluna também permite que você faça aritmética dentro de uma instrução seletiva, e isso é exatamente o que estamos fazendo aqui. Para cada registro de alunos que processarmos, vamos adicionar um ao número de turmas e, em seguida, algumas delas todas. - Você também pode subtrair, - Multiplicar, - Dividir ou Margallo na declaração de sequela. - Então vai construir essa consulta no gerente de luz secreto. - Então aqui está. - E antes, - em torno desta consulta, - Eu vou primeiro, - tirar essa parte dele e começar apenas executando uma estrela selecionada do aluno. Então, de novo, isso só vai nos mostrar tudo na mesa dos estudantes. - E vamos concentrar-nos nesta área. - Número de aulas. - Se somar todos esses números, verá que aumenta 53 eso. - Isso é o que estamos fazendo nisso. - Consultas foram somando alguma coluna por isso é colar que de volta lá em remover o mais um - apenas para mantê-lo simples por enquanto. - Então, se quisermos uma consulta sobre isso, vocês verão aqui que o número falso de classes somam para 53. E lembre-se do que dissemos que se você colocar isso mais um aqui, ele vai adicionar um para cada linha que você processar. Então, quando rodarmos isto, esperamos ver o número 53 novamente. - Além disso, - quaisquer registros que prop processado e nós fazemos bem lá 63. - Então novamente vemos duas novas palavras-chave. - Limite e distinto. - Vamos começar com limites de limite usados para especificar o número de linhas que você deseja retornar em seu - resultados que outros sistemas de gerenciamento usam a palavra-chave top dentro da instrução select para - realizar a mesma funcionalidade. - Então o servidor de sequela vai parar de processar. - Depois vê o 1º 5 registros e retornou que para o chamador agora a palavra-chave distinta. - Ele é usado na cláusula select para retornar apenas valores exclusivos da coluna que você especificar. Por exemplo, temos mais de um aluno no nosso banco de dados com o sobrenome Simpson. Então, quando fizermos essa consulta, só veremos o nome Simpson retornar uma vez. - Vamos trazer esta consulta para o nosso gerente secreto e ver o que não faz no nosso banco de dados. - E vamos fazer a mesma coisa onde vamos comentar algumas coisas aqui. - E vamos apenas selecionar o sobrenome do aluno para que você possa ver que eu estou realmente comentando - tudo o resto nesta consulta. - Então vemos o sobrenome Simpson apareceu três vezes. - O que mais vemos Griffin aparecer duas vezes. - Então, novamente, - esta palavra-chave distinta só vai retornar valores exclusivos da consulta. - Então você provavelmente pode adivinhar o que vai acontecer se eu incomum esta linha só para que nós ainda - temos o limite. - Cinco comentaram. - Então agora só temos uma caixa que seleciona apelido distinto do aluno. Então, como podem ver agora, Simpson só aparece uma vez, e Griffin só aparece uma vez. - Agora vamos incluir o limite. - Cinco. - Nesta consulta e ver como isso tem um efeito sobre ele. - Então é o mesmo que a consulta antes disso, exceto que só vai retornar cinco resultados. Seja qual for o 1º 5 resultados que obtiver, só voltará para o usuário. - Então, há muita coisa acontecendo nesta consulta. - As coisas novas que vemos aqui são agrupadas por e tendo agora agrupadas por. - É usado em conjunto com alguma função agregada para agrupar os resultados por uma ou mais - coluna. - O grupo por Klaus é sempre processado após a cláusula from em antes da cláusula select. Conhecendo esse entendimento, a afirmação se torna mais fácil. - Ele irá traduzir para algo ao longo das linhas fora do grupo de tabela de estudantes são resultados - definido pelo sobrenome e selecione o sobrenome na contagem. - Cada agrupamento e um efeito colateral disso seria que estamos selecionando sobrenomes distintos - já que estamos exibindo a coluna que estamos agrupando agora - a cláusula tendo que você pode pensar como a função agregada do forno da cláusula de desgaste. - Ele é sempre processado após o grupo por cláusula, - e ele permite que você filtre conjuntos de resultados agrupados com base em alguma condição. - Então vamos novamente ler esta declaração sequela como se fosse em Inglês a partir da tabela de estudantes - grupo são resultados definidos pelo sobrenome e Onley considerou agrupamentos cuja contagem é maior - do que dois desses agrupamentos. - Selecione o sobrenome na contagem de cada agrupamento. - Então, trazendo este tipo de gerente de luz secreta talvez tomar isso como uma oportunidade para - pausar o vídeo e executar isso você mesmo e tentar o dedo do pé. - Tente descobrir o que está acontecendo que comentar algumas linhas e construir uma consulta da mesma forma que fizemos os dois últimos exemplos e ver se você pode entender o que é isso - fazendo e então vamos passar por isso juntos. Então vou começar com isso excluindo tudo, exceto o sobrenome selecionado do aluno, e você provavelmente sabe o que esperamos ver lá. Serão todos os registros da nossa mesa de estudantes, mas só a coluna de sobrenome. Então, se fizermos isso, vemos o que vimos antes, onde Simpson aparece três vezes e Griffin aparece duas vezes. - Vou incluir apenas o grupo do Klaus. - O que isso vai fazer é pegar a mesa de alunos completa agrupar tudo pelo sobrenome. - Então, se você se lembrar, um efeito colateral de agrupamento é que ele irá realmente diferenciar qualquer que seja o seu agrupamento. Então, se fizermos isso, verá que só há sete resultados. - Então era o que esperávamos. Então, já que agrupamos por sobrenome, podemos contar quantos de cada sobrenome existem. - E essa é a parte da seleção que eu tirei que na saída de volta. - Então é como o sobrenome e também a contagem ou o número de sobrenomes do aluno quando - nós agrupamos por sobrenome. - Quando corremos que você pode ver que a conta para o número de sobrenomes distintos está em nossos - resultados que então lembre-se eu disse que ter cláusulas tipo de como a causa de desgaste para uma - função agregada. Então, se nós incomuns isso tentar adivinhar, o que vai retornar de nossos resultados que só sobrenomes que aparecem mais de duas vezes. Então, se mudarmos isso para maior que um, chegamos a resultados porque há dois sobrenomes e aparecem mais de uma vez aqui. - Nós só vemos uma coisa nova ordenada por simplesmente colocar, - ordenado por é usado para classificar os resultados de uma consulta que consorte tanto por ordem ascendente ou decrescente. - Também podemos classificar por mais de uma coluna neste exemplo. - Vamos classificar os alunos por aniversário com o aluno mais novo primeiro. - Então, trazendo isso em segredo gerente de luz esta consulta é um pouco mais simples do que a última - duas que fizemos. - Então eu não vou. Não me preocuparei em construí-lo como fizemos, mas você pode ver que vou selecionar tudo da mesa dos estudantes do que pedir por algo. Então você olha para a coluna de aniversário aqui, você pode ver que está na verdade em ordem decrescente. - Também mudou isto para ascendente. É ordenado do outro lado, ordenado por outras coisas, e podemos pedir por mais de uma coluna. Então, se pedimos por número de aulas, então aniversário. - Diz o primeiro pedido por número de turmas. E se houver um empate, então recue em pedir meu aniversário e veremos que há quatro gravatas diferentes. - Então esse foi um bom momento para falar sobre a ordenação lógica de uma consulta, - e eu aludi a algumas vezes nesta lição e em lições anteriores saber como alguns - servidor sequela logicamente ordena uma consulta é muito, - muito útil para entender como ler ou construir uma consulta. - E eu encorajo você a considerar esta ordem quando você está tentando entender o que uma consulta - está fazendo ou onde você está tentando construir uma consulta para si mesmo e até mesmo ir tão longe quanto - leia cada linha de uma nova consulta na ordem em que esta está listada. Então, primeiro leia a Cláusula Benry, a cláusula Where. - Se há um grupo comprando um, - tendo lido o próximo e então e só então você deve voltar e ler o que você está - na verdade selecionando e, finalmente, - você pode encomendar tudo. - Então, abordamos muitas coisas nesta lição. - Aqui está uma lista de vocabulário novo que você pode dar um momento para olhar. - Eu acho que algum limite distinto em ordem por eram bastante simples em comparação com o grupo por e tendo -. Então, se você vai gastar mais tempo em qualquer um desses conceitos do que se concentrar nesses dois, eles não são fáceis de entender. - E se estiver lutando com isso agora. - Isso está tudo bem. - Apenas pratique-o um pouco, e eventualmente ele vai apenas clicar. - Então, aqui está uma lista de exercícios que você pode tentar trabalhar em seu próprio tempo antes de tomar. - A próxima aula começará a próxima lição com as soluções para esses exercícios. Então tente tirar um momento e lutar com isso, e é a melhor maneira de aprender a fazer essas coisas. - Então, vejo-te na próxima vez. 8. Soluções: consultas de tabela única (de de segundo plano) (Advanced): - Ei, pessoal, bem-vindos de volta. - Vamos passar algum tempo para rever as soluções dos exercícios da Lição 5. - Vamos fazer a mesma coisa que fizemos da última vez onde eu vou puxar cada um desses exercícios para - gerente de luz sequela e passar pela solução um de cada vez. - Aqui está o primeiro exercício, - e novamente eu vou apenas comentá-lo para que pudéssemos colocá-lo em nosso editor de consultas e ele - não será processado. - Então pode contar o número total de turmas que alunos com o sobrenome Simpson tomam. - Então isso nos diz que vai haver algum tipo de função agregada nesta sequência - declaração, - e nós vamos ter algum tipo de condição onde nós filtrar os alunos do sobrenome - Simpson. Começa como sempre fazemos pelo que escolhemos, e só queremos estudantes, se o sobrenome for mau. - O Simpson. - É como se tudo estivesse aqui que parece assim que sabemos apenas de olhar para este conjunto de resultados - que queremos resumir esta coluna aqui e o que queremos obter uma resposta de 16 e - novamente, - a maneira como nós algo é usando o função agregada alguns. - Então, se você executar isso lá nós vamos 16. E lembrem-se, podemos apelidar para legibilidade como esta. Então, aqui está o nosso próximo exercício. - Obter uma lista de sobrenomes únicos que vamos selecionar na mesa de estudantes e - não há nenhuma condição aqui. - Então poderíamos ir direto para a declaração seleta. E se você se lembra, havia a palavra-chave distinta que faz exatamente isso contra uma lista única de coisas. - Lá vamos nós. - Há sete discos. - Tal como esperamos. - Vamos para o número três. - Obter uma lista de sobrenomes únicos em ordem alfabética. - Certo, isso é muito parecido com o último. - Ainda queremos uma lista de sobrenomes únicos. - Só queremos encomendá-los. - Isso foi bem fácil. Fizemos isso usando a ordem por cláusula, e vamos pedir pelo sobrenome. Você disse que quando ele ordenou pelo sobrenome, o padrão é ordenar por ordem ascendente. - Então isso é o mesmo que se nós realmente colocar na palavra-chave ascendente aqui. - Nada muda. Alternativamente, podemos ordenar descendo, e será exatamente o oposto. - Seguindo este exemplo pede-nos para obter o primeiro em sobrenome de alunos que tomam mais - cinco aulas. - Vamos remover esta declaração de seleção e sabemos que estamos selecionando da tabela de estudantes, então vamos começar por aí. - E temos outra condição em que só queremos considerar alunos onde o número de aulas é maior que cinco. Podemos especificar assim, e só nos preocupamos com o nome e o sobrenome. - Lá vamos nós. - E só para verificar que este trabalho, - poderíamos adicionar isso no final e ver que, - na verdade, - todos esses alunos têm mais de cinco aulas. - Aqui está o próximo exemplo. - Obter o primeiro e último nome dos três alunos mais jovens. - Este é interessante. - Esta parte da declaração dos alunos mais jovens implica que teremos que ter algum tipo de ordem para os nossos resultados definidos neste número. - Aqui, - os três nos dizem que vamos ter que limitar o número de resultados que retornamos - para o chamador, - e então, - por último, - esta parte da declaração apenas nos diz o que exatamente retornar ao chamador. - Então começou. - Nós sempre fazemos a partir da mesa que estamos selecionando e nós queremos os três mais jovens. Então a maneira como fazemos isso é ordenando meu aniversário, certo? E se e se agora escolhermos a estrela da ordem estudantil até o aniversário, podemos ver. - A forma como o padrão é ordenação é em ordem crescente. - Então, na verdade, são os últimos três registros aqui que queremos ser retornados primeiro - a consulta para que não queremos ordenar por ordem crescente, - que é o padrão que queremos ordenar por ordem decrescente. Então, se fizermos isso, podemos ver que os três alunos mais jovens são os primeiros 3 registros que retornaram em nossos resultados. - Isso e novamente, - nós só queremos devolver os três alunos mais jovens. - Então vamos colocar um limite de três neste resultado. - Set. - Nós comandamos isto. - Não vemos os mesmos três no topo. - Você sabe, - os três alunos mais jovens da turma novamente - nós só pedimos o primeiro nome em sobrenome - então esta seria a consulta correta. Então o próximo é um pouco mais complicado, mas vimos um igual em menos de cinco, então devemos conseguir ultrapassá-lo. É obter uma lista de sobrenomes únicos, junto com o número de vezes que cada sobrenome aparece na mesa dos estudantes, muitas vezes metade do desafio escrevendo Aquarius Understanding na verdade, o que estamos pedindo e isso basicamente é dizendo, - Quantas vezes cada sobrenome aparece na tabela do aluno? - Vamos começar com a tabela que estamos selecionando e eu vou apenas selecionar o sobrenome. - É só com isso que nos importamos. A próxima coisa que vamos fazer é agrupar tudo pelo sobrenome e novamente. O que está acontecendo quando dizemos que o Grupo I é, basicamente estamos dizendo que o servidor Sequel da tabela de estudantes agrupa tudo pelo sobrenome, como em colocar todos os registros da tabela de estudantes em baldes que podem ser identificados basicamente estamos dizendo que o servidor Sequel da tabela de estudantes agrupa tudo pelo sobrenome, como em colocar todos os registros da tabela de estudantes em baldes que podem ser identificados . exclusivamente pelo sobrenome. Então, neste caso, já que sabemos que o sobrenome Griffin aparece duas vezes, o que o grupo está fazendo é essencialmente identificar todos os registros associados Griffin em colocá-lo em uma lista que pode ser acessada através de O sobrenome Griffin. E já que esse é o caso, podemos contar esses grupos. - Lá vamos nós. O último exercício é muito parecido com este, e pedimos uma lista de nomes que aparecem mais de uma vez na tabela de estudantes. - Lembra-te do que dissemos. - A cláusula having é uma espécie de como a cláusula where para uma função agregada. Então só nos importamos com sobrenomes que tenham uma contagem maior que um. Então, se fizermos isso assim, faremos com que peguemos o sobrenome e o conde nos devolva. - Mas nós estamos apenas pedindo o sobrenome, - para que você possa remover essa parte da instrução select, - e isso é o que a consulta correta seria. 9. Participe: Ei, pessoal, bem-vindos a diminuir seis da Sequel 101, vamos começar a falar sobre junções, e é aqui que as coisas começam a ficar interessantes. Até agora, só temos procurado uma tabela no nosso banco de dados, a tabela de estudantes. - Então, finalmente, - nós vamos começar a amarrar algumas das outras tabelas em nosso banco de dados juntos e ver - quais são algumas das relações entre elas. - Então, há uma lição muito excitante. Acho que é onde as coisas começam a ganhar fundos, então vamos entrar nisso. - Vamos ter uma visão geral do que é um charro. - Então junte-se é um operador de tabela, - e é realmente um dos operadores mais poderosos e sequela eo propósito de um conjunto nós - para combinar dados de duas tabelas diferentes em seu conjunto de resultados. - Então isso é muito importante se você quiser desenhar uma relação entre duas tabelas em seu banco de dados que têm informações aparentemente diferentes nelas, - e você quer ter um plano e vista tão geralmente em um banco de dados, - uma única tabela representará um único objeto e conterá todas as informações para esse - objeto. - Por exemplo, - em nosso banco de dados. - A tabela de estudantes contém informações sobre Lee sobre estudantes, - e então nós também temos uma tabela de endereços, - que contém apenas informações sobre endereços assim pelo operador de junção, - foram capazes de desenhar relações entre essas tabelas e ver essas relações como se - eles estavam em uma única tabela. - Então, há três tipos fundamentais de junção cruz desenho interno juntar-se a uma vontade externa unida - brevemente cobrir o que cada um destes são, - mas nós realmente vamos nos concentrar principalmente em união interna. - Inter Joint é o tipo mais comum de união usado na prática por um tiro longo, - seguido por juntas externas e, em seguida, junções cruzadas. - Eu realmente só encontrei algumas aplicações práticas para junção externa e ainda menos para cross - junte-se, - então por causa disso vai realmente se concentrar principalmente sobre ele ou junta-se. - Então vamos dar um exemplo. - Considere as duas tabelas a seguir. O que você está vendo aqui é apenas a definição da tabela, então não estou mostrando nenhum dos dados. Estou dizendo que há uma mesa de estudantes com cinco colunas. - Qualquer outra tabela chamada resultado do exame estudantil com quatro colunas. - Observe nestas definições que o aluno da coluna I. - D. - É especificado em ambas as tabelas e A razão para isso é que quando criamos nosso banco de dados, - colocamos uma restrição de chave estrangeira na tabela de resultados do exame de estudante e na sequência, - uma restrição de chave estrangeira colocada em uma coluna de referências de uma tabela. - A chave primária de outra tabela. - Então aqui, - a coluna Student I D na tabela de estudantes é a chave primária da tabela de estudantes na - Student i. coluna - Student i. - D No exame estudantil. - Tabela de resultados é uma chave estrangeira na tabela de resultados do exame do aluno. E uma vez que você tem essa restrição de chave estrangeira na tabela de resultados do exame de estudante, é impossível inserir um registro onde o aluno que eu desvalorizo que você está inserindo não está na tabela de estudantes. - Vamos ver como seria um registro da tabela de resultados do exame estudantil. Então, temos o resultado do exame estudantil i d. Exame I D e pontuação. E, na verdade, o aluno da primeira coluna examina então eu fui colocado lá apenas como uma prática recomendada. - Eu mencionei na primeira lição que é melhor prática ter sempre uma coluna de chave primária - de uma tabela, - mas realmente, - aqui está Ele não está sendo usado para muito, - no entanto, - a coluna Student I D nos liga a um registro específico na tabela de estudantes. E há outra coluna chamada Exame I D, que vai nos ligar a um registro específico em uma tabela de exames. Então o que isso diz é que o aluno que é representado pelo estudante i. - D. - Um fez um exame, - que é representado examinando o que obteve um 88. - E aqui está uma pergunta que nos ajudará a entender o que está acontecendo. - Então, se olharmos para esta consulta, - estavam juntando duas tabelas a tabela do aluno, - a tabela de resultados do exame de estudante e estavam juntando-os na coluna estudante ponto estudante i d - nos resultados do exame estudantil i. - D. - Então o que isso diz é que qualquer vez que há um registro na tabela de estudantes onde o aluno - eu d corresponde algum registro na tabela de resultados do exame de estudante - ele vai combinar esses resultados em um único registro e colocá-lo em seus resultados que Então devemos abrir isso no gerente de luz secreto e fazer uma pequena exploração. - Então aqui vamos nós. Aqui está a consulta dos slides, e antes de rodarmos isso, vou comentar tudo que não fizemos muita exploração das outras mesas. - Já vimos um estudante muito, mas vamos dar uma olhada no resultado do exame estudantil é uma das estrelas selecionadas daquela tabela. - E como vimos os slides, as quatro colunas que você conhece há 40 linhas aqui. - É estudante que eu d exame I D e pontuação. E se você notar que há todos os casais únicos de estudantes I D exame I d. Está listado quatro vezes o que na verdade tem quatro ideias únicas para exames, e o que isso está dizendo é estudante com Student I D. O número um fez quatro exames, então também é olhar para a tabela de exames, então ele tem três colunas. - É uma mesa muito pequena. - É essencialmente uma tabela de referência, mas este é o propósito desta tabela conter todas as informações para um único exame. Como podem ver, só nos importamos com o nome do exame em seu peso. Então, voltando ao nosso exemplo, o que é incomum estes e executá-lo. - Então o primeiro nome e sobrenome estão realmente vindo da tabela de alunos no exame I D - e pontuação vindo da tabela de resultados do exame de estudante. - Especificamos quais colunas queremos selecionar daqui. Mas lembre-se, podemos sempre fazer Select Star. - E se você está juntando tabelas e você fizer isso, - ele irá realmente apenas incluir todas as colunas de todas as tabelas que você está juntando para que você - pode ver todas as colunas da tabela de estudantes aqui em todas as colunas para o exame de estudante - tabela de resultados. - E novamente, - isso é muitas vezes útil quando você está começando a escrever uma consulta de sequela e você não está - exatamente certo com quais colunas você vai ter que trabalhar. , já Então, jáque sabemos que a mesa de exames também estava envolvida aqui, vamos colocar uma alegria interior nessa mesa também. - Eu vou dizer exame E e aproveitar o resultado do exame estudantil. - Esse exame I d. - É igual a e que o exame I d. - Então, isso irá corresponder a cada registro do resultado do exame de estudante onde a coluna exame I D é igual - ao exame i d coluna na tabela de exames. Mais uma vez, antes de executarmos isto, vamos mudar isto para estrelas seleccionadas. Podemos ver tudo, então vamos dissecar isso um pouco. Estas cinco colunas pertencem à mesa dos estudantes. - Estas quatro colunas aqui pertencem ao aluno examinado Tabela de resultados nestas três colunas - aqui pertencem à tabela de exames e você vai notar que o aluno I D. - Aparece duas vezes. - E esta é a calma que estavam se juntando para a mesa de estudantes no resultado do exame estudantil - tabela. - Você também percebe que o exame I D. - aparece duas vezes, - e esta é a coluna que estamos usando para juntar a tabela de resultados do exame de estudante - tabela de exame - - E então nós estamos apenas cuspindo todas as colunas para todas as mesas. Provavelmente não nos importamos com coisas como “Aniversário “, e as ideias reais que acontecem são muito importantes. - E não são legíveis por humanos. - Então é realmente preencher este pouco que nós nos importaríamos com o primeiro nome aluno, - estudante, - sobrenome , - não o exame I D. - Mas provavelmente o nome do exame e na pontuação - Legal. - Então, como prometido, - vamos cobrir brevemente o exterior em união cruzada, - então junção externa. É o mesmo que uma junção interna, mas preserva os registros de qualquer mesa em que você está se juntando, e há três sabores de união externa, há uma Joan externa esquerda, uma junta externa direita em um exterior completo. - Junte-se a qualquer um desses sabores de junção externa que você usa determina em qual tabela você está - realmente se juntando. - Então, - por exemplo, - se eu disser selecionar do aluno esquerda ingressar no resultado do exame de estudante, - então eu estou me juntando à tabela de estudantes e eu estou garantido para ver todos os registros da - tabela de estudantes, - Mesmo que haja algum aluno com um aluno I D. - Isso não aparece na tabela de resultados do exame de estudante. Então, por essa razão, uma articulação externa pode ser útil. - Se você quiser descobrir quais registros estão faltando em alguma tabela, - a junção externa direita é o oposto de um lado esquerdo. - Junte-se em que ele irá preservar os registros da tabela à direita. - No exterior completo. - Junte-se preservará os registros de ambas as tabelas. - Então o que em toda junção faz é que produz o produto cartesiano de duas tabelas, então isso significa que cada linha de uma tabela é combinada com toda a rosa de outra mesa. - Então você tem uma tabela que tem 10 registros e você tem alguma outra tabela que tem cinco - registros do que em toda junção. - Produzirá um conjunto de resultados que tem 10 vezes cinco ou 50 registros e isso pode ser útil em - produzindo grade completa como resultados relacionados ao nosso banco de dados. - Se quiséssemos listar todos os exames que cada aluno fez enfraquecer, fazê-lo usando através de junção e ignorando a tabela de resultados do exame estudantil enfraquecer. - Cruze o desenho da mesa dos alunos na mesa dos exames. - E a partir disso, basta obter uma lista simples do primeiro e último nome do aluno no nome do exame. - Há um exemplo realmente bom de exatamente como esse desenho cruz funciona selecionar tudo - de estudante e apenas em todo o exame Alemanha. Temos 10 registros na mesa de estudantes e temos registros completos na mesa de exames, então deve haver exatamente 40 filas aqui. E se olharmos para aqui, vemos que existem, então dissemos que isso poderia ser útil se quiséssemos obter uma lista de todos os exames que um aluno fez. - Então você faz isso apenas dizendo Alias, - vendo o estábulo estudantil perguntou a tabela de exames como E e dizendo as ações do aluno primeiro - nome começar, - sobrenome e nome do ponto. - Então fazemos isso e vemos que temos o nome de todos os alunos em cada exame. Há certamente mais aplicações úteis de desenho cruzado, mas este está pelo menos relacionado com o nosso banco de dados. - Então agora que temos uma idéia do que se junta ao nosso vamos dar uma olhada no nosso banco de dados a partir de uma - visão de olho de pássaro o que você está olhando aqui são todas as tabelas em nosso banco de dados e suas - relações entre si neste pequeno símbolo chave que você ver dentro da mesa -. - Definição indica que esta é a chave primária de tabelas. - E então essas linhas aqui estão mostrando que há uma relação de chave estrangeira de uma tabela para outra. - Então, - por exemplo, - na tabela de endereços, - a chave primária é o endereço I D. - E uma vez que há uma linha de alguma outra tabela para a tabela de endereços, - você espera ver algum nome de coluna endereço I D na tabela que a linha está vindo - e nós fazemos aqui tão claramente. - Estudante é o núcleo deste banco de dados, - e as outras tabelas realmente só têm reunião se você relacioná-los com a tabela de estudantes, - e essas tabelas de mapeamento lá realmente usado para normalizar a estrutura de nossos dados e - reduzir ter para armazenar informações redundantes. - Então, - por exemplo, - você só terá que guardar o endereço. - Uma rua principal exatamente uma vez e se mais de uma pessoa viver em uma rua principal. Se 100 pessoas com uma rua principal, então você teria 100 registros na tabela de mapeamento de endereços do aluno e apenas um registro na tabela de endereços. - E isso é enorme quando você está considerando armazenamento de dados porque é muito mais barato para - armazenar apenas dois números que é para armazenar ah 100 registros estavam listando todo - endereço. E enquanto estamos olhando para um bom projeto de banco de dados, quero mostrar um design alternativo de banco de dados ruim. - Então o que você está olhando aqui é na verdade outro esquema de banco de dados que tem tudo o mesmo - informações que temos em nosso banco de dados, - mas é simplesmente armazenado em uma tabela. - Isso é ruim por muitas razões. - Um estar lá é tanta redundância aqui. - É impossível isolar qualquer informação. Então, se você quer informações sobre o que foi exame e qual é o seu peso, então não há necessidade de saber nada sobre nenhum dos alunos ou qualquer um dos endereços. - Podemos consultar a tabela de exames aqui. - Isso não é realmente possível, - você sabe, - e por último - é muito difícil de navegar. - Aqui está a 1ª 10 linhas seria como neste banco de dados e vamos olhar para aqui. - Endereço da Avenida 1986. Está listado quatro vezes seguidas, e é a única forma de o fazer se as nossas bases de dados forem desenhadas desta forma, já que há um aluno que fez quatro exames. - Então, se Homer Simpson fez 1/5 exame do que não poderíamos apenas adicionar uma linha para o exame estudantil - tabela de resultados como podemos em nosso melhor banco de dados de design teria toe adicionar um todo de - estrada que diz Homer Simpson aniversário leva seis aulas. Qualquer que seja a pontuação que obtivemos foi o nome do exame, o peso, este endereço, CEP do estado da cidade. - É um enorme desperdício de espaço, e você sabe que a alternativa seria apenas adicionar um único registro a esta mesa. Então, não havia muito para vocabulário novo, mas cobrimos muito, então reveja o que essas coisas significam e abra seu banco de dados secreto do gerenciador de luz e escreva algumas juntas para você mesmo. - e verá como é divertido. - E eu vou deixá-lo com exercícios que você pode fazer no seu tempo livre. - E vamos rever a solução para estes no próximo vídeo tutorial. - Obrigado. 10. Soluções: se joins para: - Ei, pessoal, bem-vindos de volta. - Vamos tirar um tempo para rever a Lição Seis. - Soluções de Exercício. - Ok, - então vamos abrir o gerente de luz de sequela e puxar o primeiro exercício para o nosso editor de consultas - lembrando que vamos comentar. - Eso obter o primeiro nome, sobrenome, endereço, um endereço para a cidade de cada aluno. - Então aqui estamos pedindo informações de mais de uma mesa. - Então vamos olhar para a nossa lista de mesas e ver o que nós provavelmente estaremos - questionando contra. - E sabemos com certeza que vai precisar de coisas da mesa de estudantes e vai precisar de coisas da tabela de endereços. - Então, se voltarmos aqui e olharmos para o que está na tabela de endereços, - você sabe, - vemos um endereço i d. - E então um monte de colunas que são específicas para um endereço real, - mas nada realmente vinculá-lo de volta a um Estudante. - Então, voltando para nossas mesas maneira ver que temos uma tabela de mapeamento de endereço de estudante. Então, se você olhar para o que isso parece, é exatamente o que precisamos. - Uma tabela que relaciona um aluno i d ao endereço i d. - Nós realmente vamos estar juntando três tabelas diferentes nesta consulta. - Então, - como sempre, - vamos começar com a cláusula de e ver quais tabelas precisávamos. - Você sabe, - nós vamos precisar de um estudante e nós vamos nos juntar novamente. - É sempre bom apelidar os nomes das suas mesas. - Você pode referenciá-los em suas articulações e também em suas declarações selecionadas. - Vamos entrar. - Junte-se ao endereço de estudante Nada. - Vou chamá-lo de mapa. - Junte-se a esta estudante. E enquanto estamos construindo essa consulta, vamosselecionar estrelas enfraquecer enquanto estamos construindo, ver o que está acontecendo tão legal. E enquanto estamos construindo essa consulta, vamos selecionar estrelas enfraquecer enquanto estamos construindo, Temos tudo, desde o instrumento estudantil, apenas a tabela de mapeamento. - Ainda não terminamos porque ainda temos os endereços. - Então também está juntando a tabela de endereços e lá não temos erro. Parece que foi um erro de sintaxe no seu endereço, esqueci-me do médico. - Aqui vamos nós. - Isso contém todas as informações de endereço para todos os alunos, - então podemos agora filtrar que realmente precisamos na instrução select e o primeiro nome está indo - para ir da tabela de estudantes. - Então vai ser o primeiro nome chamado sobrenome e o resto da informação. - Parece que vem da tabela de endereços. - Vamos executar isso. - E lá vamos nós. - Então vamos ver o que é o próximo aqui. Temos o primeiro nome, sobrenome e endereço, um de todos os estudantes que vivem na cidade de Nova York. - Muito do que precisamos já está aqui. - Nós já estamos nos juntando na tabela de mapeamento de descanso do aluno e na tabela de endereços em estudante - tabela. Então, parece que se adicionarmos alguma condição aqui, podemos completar essa consulta e isso é bem simples. - Teremos uma cláusula de conhecimento onde a cidade de endereço é igual a essa string - literal. Então, se tivermos isto aqui, você verá nossos resultados. - Isso é mais limitado do que a consulta anterior. E já que não estamos pedindo pela cidade, podemos remover isso da nossa consulta. - Então isto é o que seria aqui. - Então, o próximo é bem interessante. - Vamos contar o número de alunos que vivem em cada endereço. - Então, quando eu precisar de alguma forma de uma função agregada aqui e nós também estamos definitivamente indo - para precisar da tabela de endereços e pelo menos a tabela de mapeamento de endereços. - E uma das partes complicadas aqui é perceber que não precisamos da mesa de estudantes . - E a razão para isso é que temos todas as informações sobre onde o aluno vive baseado em seu aluno i d na tabela de mapeamento de endereços do aluno. Aqui não sabemos quem são os alunos, mas sabemos que um aluno vive esse endereço, um aluno para esse endereço quatro e assim por diante. E também sabemos que no endereço 4, há dois estudantes só de olhar para esta mesa. Então realmente, esta é a única tabela que precisamos se quisermos contar o número de alunos para cada endereço mas queremos devolver o endereço, uma coluna e as contagens que teremos também juntar na tabela de endereços e vamos - Alias são tabela de mapeamento aqui e vamos juntar-se em um mapa. - Esse endereço eu d é igual a um endereço, - eu d. - Então tem que há isso apenas basicamente puxado em todas as informações de endereço para - cada aluno e o que queremos fazer agora é agrupar todos os endereços que eu ds juntos e então - contar quantos estão em cada agrupamento e queremos saber qual é o endereço também. - Então isso vai nos dar o endereço um valor e depois a contagem. - Então lá vamos nós. Sabemos que quatro pessoas vivem na Avenida 96 e duas pessoas vivem na Rua Vernon, 23 e pronto. Então, para o nosso último, pedem-nos para obter o nome do exame e esperou a pontuação de cada exame que Doug Funny fez. - Esta é uma interessante. - Vamos primeiro ver que aluno eu d. - Engraçado é que parece que ele é estudante em seis anos. - Então eu vou colocar isso aqui e comentou para que possamos usar isso mais tarde. Vamos usar a tabela de exames de alguma forma, então nos atualizaremos no que é a tabela de exames de NB. Vamos usar a tabela de exames de alguma forma, - Três colunas examinaram o nome e esperem. E para chegar à mesa de exames, temos que nos juntar a essa outra tabela chamada resultados do exame estudantil. - Vamos dar uma olhada nisso. - É só um exame de estudante. - I D no placar. - Vamos voltar e começar do começo. - Vamos precisar da mesa de estudantes porque estamos pedindo informações para estudantes. Nós também vamos precisar da tabela de resultados do exame estudantil S E R. porque queremos relacionar um aluno com um exame e vamos nos juntar ao aluno I d. e, por último, queremos informações sobre o exame. - Tudo bem, legal. Então, esta é toda a nossa informação, lembre-se que só nos importamos com o Doug. - Engraçado. Então vamos colocar em uma condição em que só estamos considerando coisas que são relevantes para o Doug . - Então podemos dizer que somos os melhores alunos. - Eu era igual a seis. Normalmente é melhor usar “I ds “do que usar liberais de cordas, se puder. - O que eu quero dizer com isso é que poderíamos alternativamente dizer onde s parar primeiro nome é igual a Doug e s - parar Sobrenome é igual a engraçado, - e nós teremos a mesma coisa. - Na verdade, estou a executar isto, e nada aconteceu porque está a devolver os mesmos resultados que geralmente é melhor se puderes usar os meus dados. - Essa consulta será executada um pouco mais rápido por causa da preocupação principal. - A restrição de chave na mesa esfria esta é toda a informação para Doug? - Engraçado, na mesa dos estudantes. - A tabela de resultados do exame de estudante e a tabela de exames. - Então não é filtrado para as coisas que realmente precisamos. Então vou começar com o nome do exame que disse que queríamos isso? - E queremos uma forma de exame. - Espere. - E a pontuação que eu me livrei das pontuações realmente armazenadas na tabela de resultados do exame estudantil - - Aqui está cada exame. - Diga o peso na pontuação. - Mas o que realmente queremos é a pontuação ponderada de cada exame. Lembrem-se que podemos fazer uma tomada por escrito dentro da nossa declaração seleccionada. - Isso não vai funcionar. Não vamos explicitamente para o oeste, o peso na escola era - realmente vai multiplicá-los juntos. - E na lista estão pontuações ponderadas. - Então, se você executar isso, - lá vamos nós. - E esta é a solução final. Mas só para mostrar algo legal, poderíamos aumentar essas pontuações, e essa seria a pontuação total. - Tudo bem. Espero que tenham se divertido tanto fazendo este conjunto de exercícios quanto eu. - E eu vou te ver no próximo vídeo tutorial. - Obrigado. 11. Subqueries: - Ei, pessoal. - Bem-vindo a diminuir sete de sequela quando um este está indo para a última lição nesta classe - e é em algumas consultas. - Então vamos entrar nisso. - High Level Overview Sequel suporta escrever consultas com consultas, - e estes são conhecidos como consultas aninhadas. - Em uma consulta aninhada, - a consulta mais externa irá especificar o que você vai retornar em seus resultados que no - consultas internas resultados que é o que será usado pela consulta externa para selecionar. - E isso também é conhecido como sub-consulta. - Então, o que tudo isso significa? - Digamos que temos esse problema em que queremos obter o primeiro e último nome de todos os - alunos em nossa sala de aula que marcaram 90 ou melhor no primeiro exame para que saibamos que - vamos selecionar algumas das colunas da tabela de estudantes. - Mas o que precisamos descobrir é de quais alunos queremos escolher os nomes. - Então vamos começar satisfazendo essa condição. - Olhe para esta consulta aqui Nós estamos selecionando o aluno i d da tabela de resultados do exame de estudante - - Lembre-se, - esta é a tabela que realmente armazena os resultados dos exames, - e queremos selecionar as idéias do aluno onde a idéia do exame é igual a um e a pontuação - é maior ou igual a 90. - Então esta é a condição que vamos usar para especificar que ID de estudante queremos - realmente usar em nossa consulta. - E se executarmos isso em segredo como gerente, veremos que realmente obteremos apenas isso para remar os resultados. Nove intensas era apenas uma lista de ideias estudantis que satisfazem esta condição. - Então continuando. - Vamos ver como podemos usar essa consulta como uma consulta inter para obter o que realmente queremos. Então, se você olhar o que estamos fazendo aqui, estamos descontrolados. - O primeiro nome seu sobrenome da tabela de estudantes onde o aluno I d está nesta lista - de estudante I DS que sabemos satisfazer nossa condição. - Então, neste exemplo, - o texto preto seria a consulta externa, - e o texto vermelho seria a consulta Inter. - E é assim que os nossos resultados serão. - Vamos abrir o gerente de luz sequela e ver o que isso parece quando nós realmente executá-lo assim - Aqui está a consulta. - E antes de executá-lo, - vamos apenas comentar tudo fora, exceto para a consulta Inter, - apenas para ver que nós realmente obter uma única coluna chamada Student I D com duas linhas nove - e 10. - Então vamos, - um NCAA significava tudo e ver que nós vamos realmente usar essas idéias de alunos nove - e 10 dentro da nossa cláusula em para realmente retornar os atributos do aluno - tabela. - Então você dirige isso e é exatamente o que esperamos. - Ver Stewie Griffin e homens catty não é surpresa com os alunos de melhor desempenho. - E se incluirmos o aluno deles I d. - Aqui, - então você pode ver isso novamente como esperamos que o aluno destes nove em 10 ou o que estamos - realmente voltando para o chamador. Enquanto escrevíamos isso, você deve ter notado que poderia alcançar o mesmo objetivo usando um conjunto nessas duas tabelas. - E isso é exatamente certo. - Se olharmos para esta consulta, - estamos inter juntando a tabela de alunos e tabela de resultados do exame estudantil onde as idéias do exame - um ea pontuação é maior do que 90 e isso vai nos dar exatamente a mesma tabela e -, - Sabe, às vezes uma performance conjunta. - Melhor. - Mas outras vezes um desempenho de consulta aninhada melhor. - Também pode ser o caso que nosso mecanismo de banco de dados irá otimizar o mais rápido que você usar - de modo que o plano de consulta é exatamente o mesmo. - Então, em alguns casos, é idêntico se você estiver usando uma consulta conjunta ou aninhada. - Realmente, - a melhor abordagem é escrever a consulta de uma forma que faça sentido para você e para os outros. - Se você planeja compartilhar. - E se você tiver problemas de desempenho abaixo da linha, você sempre pode revisar a consulta para torná-la mais eficiente. Só para mostrar que essa articulação interna é idêntica à nossa subconsulta, vamos colá-la no gerente secreto e executá-la. E como podem ver, temos os mesmos resultados de Griffin e Pattie Menzies. - Então vamos falar um pouco sobre um subconsultas de leasing, - e você pode alias ou nomear uma sub consulta da mesma forma que você apelidaria uma tabela. - Então, se dermos uma olhada neste exemplo e começar com a consulta Inter o texto vermelho aqui, - estamos selecionando aluno I d exame i d pontuação do resultado do exame de estudante, - e isso nos daria alguns resultados Conjunto que tinha essa definição. - Temos exatamente o aluno que examinei e marquei. - E então o que estamos fazendo é apelidar. - Este resultado definido como tabela tentadora, - e isso nos permitirá fazer referência aos nossos resultados que em fazer coisas como juntar-se a ele com - a tabela de estudantes. E uma vez que os resultados da tabela tentadora que tem uma coluna chamada Student I D, nós poderíamos realmente juntar-nos em nossa mesa de estudantes I d. - na tabela temporária idéias estudantes estavam fazendo aqui. - E também, - se você olhar para a declaração - nós estamos selecionando o primeiro e último nome da tabela de estudantes e também o exame I d - e pontuação da tabela temporária. - Então isso pode ser uma coisa muito poderosa. - Quaisquer que sejam os resultados que criamos em nossa consulta interna, - nós poderíamos realmente fazer referência de fora do da sub consulta. - É muito legal, então vamos ver como isso funciona no gerente de luz secreto. Então, como costumamos fazer, vamos trabalhar de dentro para fora e comentar tudo. - Mas a consulta sub eu percebi que eu usei o termo sub consulta e inter query intercambiavelmente -, - e isso é porque eles são exatamente a mesma coisa. Então, se esse foi o ponto de confusão para você, então eu peço desculpas. Então, se executarmos isso, teremos exatamente o que vimos nos slides onde temos três colunas. - Estudante que examinei Ian Score. - O que nós vamos fazer é nomear este conjunto de resultados tabela temporária, - e então nós vamos para inter. Juntando-se a essa mesa tentadora nas colunas Tempt estudante capaz i d. em estudante estudante I d. - Por que eu inter me juntar é exatamente o mesmo que acabou de se juntar. - Isto é um açúcar sintático onde se omitirmos a palavra interior, está implícito que é uma junção interna. - E vamos selecionar o primeiro nome, último nome, exame e pontuação. - Então vamos ver como isso se parece. - E sim, - oh, - aqui nós apenas nos juntamos em uma mesa que nós construímos a partir de uma sub consulta. - Muito legal. - Tudo bem, - na medida em que novo vocabulário novamente, - não há muito realmente apenas sub consulta aninhada aquariana. - Mas muito parecido com a lição sobre junções, - há um monte de coisas poderosas aqui, - e você certamente deve em seu próprio tempo, - abriu gerente secreto e brincar com ele e ver o que você pode Dio. - Então vou deixá-los com quatro exercícios desta lição. - Eles são muito complicados. Então, se você está lutando com alguns deles, não se sinta mal. E três e quatro são um pouco confusos, então vamos falar com eles rapidamente. O número três diz para cada aluno, obter a soma de todos os exames cujo nome começa com exame. - Então basicamente tudo o que estamos fazendo aqui é que queremos retornar uma linha para cada aluno em alguns acima - esta pontuação que eles obtiveram em todos os exames cujo nome começou com o exame literal de cordas. - Então eu acho que há dois exames em seu exame um e exame para ver qual é o que alguns deles - para cada aluno em troca. Aqueles, juntamente com o nome do aluno e número quatro, são muito difíceis. Se conseguires isto, ficaria muito impressionado. - E isso significa que você realmente sabe o básico de sequela. - Obter o primeiro nome, - sobrenome e pontuação final para todos os alunos da turma. Então, basicamente, o que estamos fazendo aqui é agregar todos os alunos. - Pontuações finais levando em conta o exame, - esperar por cada exame que eles fizeram. E eu diria para resolver esses exercícios, usar o que você se sentir mais confortável. - Se você pode resolvê-lo com uma articulação, - faça-o com uma articulação. - Se você acha que algumas consultas são fáceis de entender e usar algumas consultas, - você sabe, - faça o que puder para tentar obter os resultados corretos. - Isso e então vamos rever as soluções no próximo vídeo. - Veja, então. 12. Soluções: Subqueries: - Então aqui está a nossa lição. - Sete exercícios. - Vamos abrir o gerente de luz sequela e dar uma pancada em resolvê-los. Então o número um recebe o primeiro e último nome de todos os alunos que vivem no mesmo endereço Homer Simpson e inclua Homer Simpson no conjunto de resultados. - Então um bom lugar para começar seria descobrir quais são as ideias dos estudantes do Homer Simpson. - Então é como um estudante, - e vemos que um Homer Simpson é uma ideia de estudante de um. - Então é só colocar isso aqui em cima. Agora podemos usar isso para descobrir todas as informações de endereço do Homer. - Então você tem uma entrada e o aluno apenas mapeando e diz que ele pertence a um endereço legal. - Então você realmente faz disso nossa consulta Inter e tudo o que nós vamos nos importar é o endereço que eu d - - Então, se executarmos isso, - vemos que retornamos um único conjunto de resultados de coluna com uma linha de uma idéia de endereço de um. - E como isso é útil para nós? - Então nós realmente nos importamos aqui estão encontrando todos os mapas de endereços estudantis Ing com a idéia de endereço é o mesmo que qualquer consulta que nós apenas executamos retorna. - Então é selecionar a partir dessa tabela que somos endereço, - eu d igual, - você sabe, - qualquer que seja, - qualquer que essa consulta retorna, - porque isso é dizer qualquer idéia de endereço retornada do aluno cujo ideias de estudantes - um deixe-me ter todas as outras coisas mapa de endereço. - Então, se corrermos que vemos se eles são realmente quatro linhas significando que há para estudantes que - têm um endereço se você tem um. E já que estamos a pedir o primeiro e o último nome, vamos ter de entrar no “Join”. - Sou estudante Alias estes. Então, se fizermos isso, vamos expandir isso um pouco. - Temos as mesmas quatro linhas, - mas agora temos todas as informações que precisamos para completar a consulta. - Então vamos preencher todas as coisas que precisamos na declaração de seleção. - É só o sobrenome do primeiro nome. - Então lá vamos nós. - Então, aqui está o próximo. - Chame o aluno. - I d exame I d e pontuação para cada exame cujo nome começa com o exame literal string. - Ok, então vamos começar com o que achamos que a coisa mais íntima será. - E isso são os exames que começam com o exame literal string para que será selecionado a partir - a tabela de exames. - Para o nome é como e lembre-se do nosso wild card. - Podemos examinar que um sinal de porcentagem vai dizer Retornar todas as coisas da tabela de exames - onde o valor do nome começa com o pequeno exame de cordas e eu não me importo com o que termina - - Então, se corrermos, veremos chegar a Rose. E se formos a coluna de nomes, vemos que, de fato, os nomes começam com o exame. Então estas são as ideias do exame que nos importamos. - Então vamos devolver as ideias dos exames porque não nos importamos com mais nada. - E então nós podemos realmente selecionar a tabela de resultados do exame estudantil para o exame. - Eu d é neste resultado que então se você executar isso, - nós vemos que nós temos 20 linhas, - e isso é o que nós esperamos, porque nós sabemos que existem 10 alunos em nossa classe - e nós apenas retornamos dois exames em um conjunto de resultados. - Então vamos escolher o que realmente nos importa. - O corpo estudantil examinou Ian pontuação perfeita número três para cada aluno. - Obter a soma de todos os exames cujo nome começa com o exame literal string. - Isso é muito parecido com o número dois em que nos preocupamos com exames que começam com a string - exame literal, - para que pudéssemos realmente manter nossa Inter Korea como a mesma. Então agora temos que executar algum tipo de função agregada, e o que nos importa é agregar coisas com base no I.D. do estudante I.D. então isso seria um grupo por. Então nós temos esses grupos de estudantes que eu d. - O que queremos fazer é resumir a coluna de pontuação. - Lá vamos nós, - 10 fileiras. - Então, cada um desses grupos teve resultados. - E então nós apenas resumimos os valores na coluna de pontuação. Está bem, está hora de analisar a última consulta, obter o primeiro nome, último nome e pontuação final para todos os alunos da turma. - Então, antes de cavarmos, - vamos para nossas definições de tabela e olhar para o que podemos precisar incluir nesta - consulta. Nós certamente vamos precisar das pontuações para os exames, e isso está na tabela de resultados do exame estudantil, e estamos fazendo algo com médias ponderadas. - E lá nós sabemos que há uma coluna ponderada na tabela de exames. Entre estas duas mesas, temos o exame I D de estudante I d marcar e esperar. E isso é muito do que precisamos fora dos nomes dos alunos. Então este é um bom lugar para começar, então devemos começar fazendo uma junção entre essas duas mesas e dando uma olhada no que nós temos. - Então aqui as colunas que temos que trabalhar com você foi examinado o nome Espere, - resultado do exame estudantil I d d estudante I d d exame I d d d d d d exame I d d e pontuação. Nós sabemos com certeza que vamos precisar do aluno I d. sabemos com certeza que vamos precisar da pontuação e sabemos com certeza que vamos - precisamos do peso. - E isso é realmente tudo o que eu posso ver a partir desses resultados que isso vai ser necessário para - terminar a nossa consulta. Então vamos limitar nossa seleção a essas coisas. Então o aluno está na tabela de resultados do exame. - Assim como o placar. - E a semana está na mesa dos exames. - Certo, agora temos três colunas. Estudante I marcou e espere e lembre-se, nosso objetivo aqui é resumir as pontuações ponderadas para cada aluno, então é realmente adicionar uma coluna calculada que vai ser a pontuação. - O peso inclui isso ali. - Então é agora que nós adicionamos esta 4ª coluna que basicamente apenas pega a coluna de pontuação e - multiplicar isso pela coluna maneira e, em seguida, cuspir o resultado. - Então vamos pegar um aluno e considerar só isso por um momento. - E vemos que há quatro linhas aqui, e o que gostaríamos de ver em nosso conjunto de resultados é uma única linha para o aluno I d - - Um com um valor correspondente, - que é alguns desses quatro valores aqui. - Então isso vai ser feito resumindo esta coluna calculada que criamos. - Queremos resumir esses valores por aluno I d. - Então isso seria nós agrupar tudo por estudante i d. - Primeiro, - que s er dot student. - Então podemos remover. - Isso não faz mais sentido ter isso. - Então, se corrermos que aqui estamos com 10 linhas cada aluno i d e, em seguida, eles são pontuações ponderadas - então realmente muito perto. Agora a única coisa que precisamos são os dados dos alunos. - E nós já temos o aluno I d. - Então isso é apenas uma simples junção com a tabela de estudantes para obter o primeiro nome e sobrenome. Mas antes de fazermos isso, temos de dar este resultado que criámos aqui. - Temos que dar um nome para que possamos referenciá-lo de alguma forma. - Então vou embrulhá-lo entre parênteses e chamá-lo de final. - Você pode chamar o que quiser, mas é agora que temos alias para este conjunto de resultados, podemos referenciá-lo de uma consulta externa. - Basta selecionar tudo do aluno e o que se juntou. - Neste conjunto de resultados, - Esqueci-me de apelidar isto que vais juntar-te a um estudante de estatística. - Eu era igual a estudante final I d. - Então temos todas as colunas e estudantes agora e depois as duas colunas de nossa consulta interna. - Então vamos agora escolher o que queremos selecionar em nossa coluna calculada. - Nós também devemos apelidar para que possamos fazer referência a partir daqui e isso vai ser - final. - O resultado final e lá vamos nós. - Esta é a consulta final para o último exercício. Então este é o último vídeo desta aula. E eu queria agradecer muito a vocês por ficarem até o fim. Eu realmente espero que você seja capaz de aprender algo e se beneficiar com a classe. - E se você achou esses conceitos interessantes do que eu realmente encorajo você a continuar - aprender e ouvir algum recurso on-line é que pode ajudá-lo a fazer exatamente isso. - W três escolas é ótimo com outra linguagem de programação. Não só sequela, então você deve verificar isso. - O novo Boston tem uma biblioteca de vídeos online. - Eles também fazem outras linguagens de programação. - Verso esquema é na verdade um site que foi construído para ajudá-lo a aprender sequela jogando um jogo. Então, se você gosta desse tipo de coisa, talvez seja para você. - Mas sim. - Obrigado mais uma vez. Agradeço muito que tenha tido tempo para passar por essas coisas comigo. - E espero que tenha gostado. - E se assim for, então conte aos seus amigos sobre isso. - Te vejo na próxima vez.