SQL: Sintaxe, Funções de Agrupamento e Tipos de JOIN

Economia5,1 KB

Sintaxe Básica da Cláusula SELECT

SELECT [predicado] { * | tabela.* | [tabela.]campo1 [AS alias1] [, [tabela.]campo2 [AS alias2] [, ...]]}
FROM expressao_tabela
WHERE condição
GROUP BY campo(s)
HAVING condição
ORDER BY campo(s)

Exemplo de Uso de GROUP BY e HAVING

SELECT setor_id, COUNT(*) AS "Total de funcionários no setor"
FROM funcionarios
WHERE setor_id IS NOT NULL
GROUP BY setor_id
HAVING COUNT(*) > 4;

Cláusulas e Predicados Comuns

  • IN: Utilizado em condições com valores fixos.
  • DISTINCT: Retorna valores únicos (elimina replicação).
  • TOP: Limita a quantidade de registros retornados.

Funções de Agrupamento (Agregações)

  • COUNT: Conta o número de linhas.
  • SUM: Soma os valores.
  • AVG: Calcula a média.
  • MAX: Retorna o valor máximo.
  • MIN: Retorna o valor mínimo.

Regras e Boas Práticas para GROUP BY e HAVING

  • Se funções de agregação forem incluídas na cláusula SELECT, GROUP BY calculará um valor resumido para cada grupo. São conhecidas como agregações de vetor.
  • Linhas que não atendem às condições na cláusula WHERE são removidas antes que qualquer operação de agrupamento seja executada.
  • A cláusula HAVING é usada com a cláusula GROUP BY para filtrar grupos no conjunto de resultados.
  • A cláusula GROUP BY não ordena o conjunto de resultados. Use a cláusula ORDER BY para ordenar o conjunto de resultados.
  • Se uma coluna de agrupamento contiver valores nulos, todos os valores nulos serão considerados iguais e colocados em um único grupo.
  • Não é possível usar GROUP BY com um alias para substituir um nome de coluna na cláusula AS, a menos que o alias substitua um nome de coluna em uma tabela derivada na cláusula FROM.
  • GROUP BY ou HAVING não podem ser usados diretamente em colunas dos tipos ntext, text ou image. Essas colunas podem ser usadas como argumentos em funções que retornam um valor de outro tipo de dados, como SUBSTRING() e CAST().
  • Melhor Prática: Não utilize SELECT *. Especifique os campos, pois você deverá especificá-los na cláusula GROUP BY.

Tipos de JOIN (Junções de Tabelas)

JOIN
Junção de tabelas.
INNER JOIN
Junção interna (padrão) das tabelas.
OUTER JOIN
Junção externa.
RIGHT JOIN
Junção externa à direita. Todos os valores não preenchidos à esquerda serão preenchidos com NULL.
LEFT JOIN
Junção externa à esquerda. Todos os valores não preenchidos à direita serão preenchidos com NULL.
FULL OUTER JOIN
Junção externa total.
SELF JOIN
Auto junção (junção de uma tabela consigo mesma).

Estratégias de E-commerce e Dilemas Éticos

Classificação de E-commerce

  • B2C: Comércio de produtos da empresa diretamente aos consumidores.
  • B2B: Comércio de bens e serviços entre empresas.
  • C2C: Comércio de bens e serviços entre consumidores.

Estratégias e Ferramentas de E-commerce

Classificação de Conexão

M-commerce e Wire (com fios).

Estratégias

Desafio: Personalizar produtos e serviços para milhões de usuários. Os sites fornecem informações de rotina e comportamento do usuário, o que ajuda na oferta do e-commerce. Exemplos: Land's End (vestuário), Visaprint (artigos gráficos).

Ferramentas de Rastreamento e Personalização

  • Rastreamento de cliques.
  • Armazenamento de sites visitados e tempo de permanência.

O rastreamento possibilita a oferta de páginas exclusivas. A personalização pode modificar as páginas apresentadas a cada cliente.

Filtragem

Técnica de personalização que compara informações de comportamento do cliente em um site com outros clientes de interesses semelhantes.

Teoria da Cauda Longa (Long Tail)

Um produto pode ser sazonal em uma certa época, mas pode ter alta demanda depois de um tempo.

Dilemas Éticos e Morais

Sistema de Rastreamento

Uso de GPS nos veículos para monitorá-los.

Dilema Ético do Rastreamento (Lados)

  • Positivos: Segurança da pessoa e do equipamento.
  • Negativos: Infringir a lei ou tirar proveito do acesso à privacidade.

Baixar

PDF Word HTML