Se você está vendo esta mensagem, significa que estamos tendo problemas para carregar recursos externos em nosso website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

Conteúdo principal

Quem realiza consultas SQL?

Com apenas esse simples conjunto de registros de exercício, conseguimos criar várias consultas úteis e diferentes. Agora eu quero fazer uma pausa nas consultas para falar sobre quem normalmente faria todas as consultas, e com que finalidade.
Vamos imaginar que temos um aplicativo de exercício com milhares de usuários, armazenando dados similares à tabela de registros de exercício que usamos.  Esse aplicativo permite que os usuários insiram registros diários e visualizem seu progresso em um painel pessoal:
Para um aplicativo como esse, há algumas pessoas na equipe que poderiam realizar consultas SQL:
Engenheiros de software:
Eles são aqueles que constroem o backend (a lógica do lado do servidor) e o frontend (o HTML/CSS/JS que renderizam os dados e os formulários). Os engenheiros de software poderiam usar SQL para a comunicação no lado do servidor com o banco de dados que armazena todos os dados do usuário. Eles precisaram saber como fazer quaisquer consultas necessárias para o frontend. Por exemplo, se os usuários vissem um painel quando se conectam de quanto exercício eles fizeram naquele dia, o engenheiro precisaria descobrir como fazer um SELECT filtrado por data e usuário. Eles precisariam descobrir como inserir dados e atualizá-los (o que veremos mais tarde)
Cientistas de dados:
Eles analisam os dados e tentam aprender mais sobre os usuários, podendo dar sugestões sobre como ajudá-los a se exercitarem mais. Eles precisam de um conhecimento profundo das instruções SELECT, porque eles precisam realizar consultas bastante complexas para fazer as análises nas quais eles estão interessados. For example, they might use a SELECT to analyze what percentage of users were more likely to do more exercise if they started off exercising in the morning, maybe using CASE and GROUP BY.
Gerentes de produto:
Eles tomam as decisões na empresa, são os que olham para os dados, falam com os usuários, analisam o mercado e tentam entender como melhorar um produto para obter mais usuários, aumentar a satisfação dos usuários ou para aumentar os lucros. Eles geralmente precisam ter conhecimento de consultas SQL para que eles possam olhar para as estatísticas e de uso e tentar compreender que partes do produto estão sendo mais usadas, quais partes estão sendo usadas de formas surpreendentes e o que não está sendo usado. Eles podem usar um SELECT para ver quantos usuários usam o campo "heart_rate" caso estejam debatendo a remoção do campo.
Como todas essas pessoas estão trabalhando na mesma empresa, eles podem e devem compartilhar seus conhecimentos sobre como usar SQL em seus bancos de dados uns com os outros. Nem todos precisam ser experts em SQL, mas considerando minha experiência, muitas pessoas em uma empresa podem se beneficiar em ter um conhecimento básico de SQL, e alguns deles podem querer usar recursos mais avançados, conforme ficam mais sofisticados.
Com isso em mente, vá em frente e aprenda recursos mais avançados...!

Quer participar da conversa?

  • Avatar piceratops seedling style do usuário Diego Araxá
    Quais são as atribuições de um DBA?
    (13 votos)
    Avatar Default Khan Academy avatar do usuário
    • Avatar hopper cool style do usuário Diogo de Carvalho Gomes
      - Criação e testes de backup para garantir a recuperabilidade dos dados no caso de falha de hardware ou outros problemas severos.

      - Instalar e atualizar as ferramentas do banco de dados.

      - Alocar o espaço do sistema reservado ao banco e garantir um alocamento futuro no sistema.

      - Saber modificar a estrutura do banco de dados.

      - Saber os comandos básicos e exclusivos de cada SGBD.

      - Verificar e zelar pela integridade do banco de dados.

      - Ter um controle de acesso, ou privilégios, aos dados como quem pode acessar e o que pode acessar e talvez quando possa acessar.

      - Garantir o acesso ao banco de dados no maior tempo possível.

      - Garantir o máximo de desempenho para as consultas ao banco de dados.

      - Auxiliar a equipe de desenvolvimento e a equipe de testes a maximizar o uso e desempenho do banco de dados.

      - Contatar suporte técnico em caso de certos problemas com o banco de dados.
      (20 votos)
  • Avatar hopper happy style do usuário Hugo Ângelo Simões
    Qual a diferença de SQL e mySQL?
    (5 votos)
    Avatar Default Khan Academy avatar do usuário
    • Avatar duskpin ultimate style do usuário Danilo S. Coelho
      SQL é a linguagem que utilizamos para enviar instruções e dados aos sistemas gerenciadores de banco de dados (SGBD) como o MySQL, dentre outros:
      - MariaDB (fork do MySQL)
      - Oracle
      - Firebird
      - PostgreSQL
      - Microsoft SQL Server
      - etc
      Ou seja, a maioria dos SGBD citados acima utilizam a linguagem SQL e seus subconjuntos:
      - DDL (create table, alter table, drop table, etc)
      - DML (insert, update, delete, query)
      - DCL (grant, revoke)
      - DTL (start transaction, commit, rollback)
      Além de instruções específicas de cada SGBDs.
      (21 votos)
  • Avatar duskpin ultimate style do usuário ds.antonioli
    Por qual motivo a linguagem SQL é utilizada em análises de Big Data?
    (7 votos)
    Avatar Default Khan Academy avatar do usuário
    • Avatar leaf green style do usuário Renan mendes
      Ótima pergunta. Eu acredito que por ser confiável, muita gente de diversas áreas conhecer(então podem trabalhar uns com os outros) e por ser razoavelmente fácil de entender(apesar de que as aulas daqui são num nível altíssimo, o que ajuda demais).
      Ou seja: isso é o que acho, não o que sei.
      Além disso, como você viu, é mais ou menos simples agrupar colunas e ordená-las para encontrar padrões rapidamente. Se for usar outras ferramentas(tipo java ou python), acredito que o SQL interaja bem com elas, o que talvez contribua para isso. Eu sei que com PHP(que é usado mais p/ internet) ele interage bem.
      (12 votos)
  • Avatar leafers tree style do usuário Homero Neto
    É possível a construção de um sistema todo aqui no site? Ou é possível baixar o software para a maquina? como compilar o sistema?
    (4 votos)
    Avatar Default Khan Academy avatar do usuário
  • Avatar leafers seed style do usuário Erick Jhonatas Rocha Santos
    Gostaria de saber também sobre o analista e o desenvolvedor de sistemas
    (3 votos)
    Avatar Default Khan Academy avatar do usuário
    • Avatar piceratops seedling style do usuário foishi
      O Analista de Sistemas tem a como principal função entender a necessidade do cliente, seja na criação ou atualização de um produto (site / sistema / app), e traduzi-la, de forma técnica, ao Desenvolvedor do Sistema que irá "colocar a mão na massa" codificando o sistema na linguagem de programação apropriada.

      Vale lembrar que, em muitas vezes, o Analista de Sistemas pode ser o desenvolvedor de sistemas ou ao contrário.
      (6 votos)
  • Avatar starky ultimate style do usuário Tarcísio Nunes
    Cientistas de dados é a profissão de maior interesse em 2018, aprender SQL é um dos primeiros passos para quem quer ser um.
    (3 votos)
    Avatar Default Khan Academy avatar do usuário
  • Avatar blobby green style do usuário edsonmediotec002
    Quais são as atribuições de um DBA
    (2 votos)
    Avatar Default Khan Academy avatar do usuário
  • Avatar female robot amelia style do usuário Guilherme Lima
    Qual melhor editor/gerenciador SQL para Linux Mint 19?
    (2 votos)
    Avatar Default Khan Academy avatar do usuário
  • Avatar piceratops seedling style do usuário Mike William Vieira
    Gostaria de saber mais sobre SQL da oracle ?
    (2 votos)
    Avatar Default Khan Academy avatar do usuário
  • Avatar blobby green style do usuário Axel Alexander Martins Benites
    este etapa não passa ja fiz umas 20 formas diferente não passa

    Desafio: Pedidos dos clientes
    (Relatar um problema)
    Etapa 2
    Agora, crie outra consulta que vai resultar em uma linha para cada cliente, com seu nome name, seu emaile a quantia total de dinheiro que ele gastou com pedidos. Ordene as linhas de acordo com o dinheiro gasto, do que gastou mais para o que gastou menos.
    (Dica: você sempre deve usar GROUP BY na coluna com maior probabilidade de ser única em uma linha).

    select
    c.name,
    c.email
    --o.price
    --count(o.item) as total,
    --sum(o.price) as price
    from customers c
    LEFT OUTER JOIN
    orders o on o.customer_id = c.id
    group by
    name,
    email,
    --o.item
    price
    --HAVING SUM(o.price)
    ORDER BY price desc
    (2 votos)
    Avatar Default Khan Academy avatar do usuário
    • Avatar starky tree style do usuário Fred Castro
      eu fiz assim
      CREATE TABLE customers (
      id INTEGER PRIMARY KEY AUTOINCREMENT,
      name TEXT,
      email TEXT);

      INSERT INTO customers (name, email) VALUES ("Doctor Who", "doctorwho@timelords.com");
      INSERT INTO customers (name, email) VALUES ("Harry Potter", "harry@potter.com");
      INSERT INTO customers (name, email) VALUES ("Captain Awesome", "captain@awesome.com");

      CREATE TABLE orders (
      id INTEGER PRIMARY KEY AUTOINCREMENT,
      customer_id INTEGER,
      item TEXT,
      price REAL);

      INSERT INTO orders (customer_id, item, price)
      VALUES (1, "Sonic Screwdriver", 1000.00);
      INSERT INTO orders (customer_id, item, price)
      VALUES (2, "High Quality Broomstick", 40.00);
      INSERT INTO orders (customer_id, item, price)
      VALUES (1, "TARDIS", 1000000.00);

      select customers.name,customers.email, orders.item,orders.price from customers LEFT OUTER JOIN orders on customers.id = orders.customer_id;


      select customers.name,customers.email, sum(orders.price) total from customers LEFT OUTER JOIN orders on customers.id = orders.customer_id group by customers.name order by orders.price desc;
      (2 votos)
Você entende inglês? Clique aqui para ver mais debates na versão em inglês do site da Khan Academy.