diff --git a/Eduardo/dia_01/SELECT_FROM.sql b/Eduardo/dia_01/SELECT_FROM.sql new file mode 100644 index 0000000..025ea51 --- /dev/null +++ b/Eduardo/dia_01/SELECT_FROM.sql @@ -0,0 +1,47 @@ +-- Databricks notebook source +SELECT * FROM silver.olist.pedido + +--SELECIONE TODAS AS COLUNAS DA TABELA silver.olist.pedido + +-- COMMAND ---------- + +SELECT + idPedido, --select naõ é filtro, apenas seleciona colunas + idCliente, + dtEntregue + + FROM silver.olist.pedido + +-- COMMAND ---------- + +SELECT *, + dtEntregue > dtEstimativaEntrega AS flAtraso -- aqui tem datas que nao sao atrtasos pq é o que importa em dia e nao horas. vamos converter isso em data + + -- (posso usar ou nao o AS, mas é legal usar pra nao confundir)aqui tenho um operador criando uma condição e isso vai gerar uma nova coluna. + +FROM silver.olist.pedido + +-- COMMAND ---------- + + +SELECT *, + idCliente, + dtEntregue, + dtEstimativaEntrega, + DATE(dtEntregue) as dataEntrega, + DATE(dtEstimativaEntrega), + dtEntregue > dtEstimativaEntrega AS flAtraso + DATE(dtEntregue) > DATE(dtEstimativaEntrega) AS flDataAtraso -- para validarmos +FROM silver.olist.pedido + +-- COMMAND ---------- + +-- DOCUMENTAÇÃO DO SPARK - https://spark.apache.org/docs/latest/api/sql/index.html +-- PODEMOS CONSULTAR TODAS AS FUNÇÕES DO SQL + +-- COMMAND ---------- + +SELECT + idProduto, + vlComprimentoCm * vlAlturaCm * vlLarguraCm as volCm3 -- operaçoes matematica +FROM silver.olist.produto diff --git a/Eduardo/dia_01/SELECT_FROM_WHERE.sql b/Eduardo/dia_01/SELECT_FROM_WHERE.sql new file mode 100644 index 0000000..22ca313 --- /dev/null +++ b/Eduardo/dia_01/SELECT_FROM_WHERE.sql @@ -0,0 +1,52 @@ +-- Databricks notebook source +SELECT * +FROM silver.olist.pedido +WHERE date(dtEntregue) > date(dtEstimativaEntrega) --aqui tiramos as horas e fizemos a operação no filtro + +-- COMMAND ---------- + +-- USO DO OR E AND + +SELECT * +FROM silver.olist.produto +WHERE descCategoria = 'bebes' + +-- COMMAND ---------- + +SELECT * +FROM silver.olist.produto +WHERE (descCategoria = 'bebes' +OR descCategoria = 'perfumaria' -- aqui tem esse parentese para resolver um ou outro dentro +OR descCategoria = 'artes') +AND vlComprimentoCm * vlAlturaCm > 1000 + +--As condições dentro dos parênteses (descCategoria = 'bebes' OR descCategoria = 'perfumaria' OR descCategoria = 'artes') formam uma cláusula OR, que indica que um registro será incluído se atender a pelo menos uma das condições entre parênteses. Neste caso, o registro será incluído se a coluna "descCategoria" for igual a 'bebes', 'perfumaria' ou 'artes'.''' + +-- COMMAND ---------- + +--operador IN +SELECT * +FROM silver.olist.produto +WHERE descCategoria IN ('bebes','perfumaria', 'artes') -- o IN substitui melhor o OR +AND vlComprimentoCm * vlAlturaCm > 1000 + + +-- COMMAND ---------- + +--operador LIKE + +SELECT * + +FROM silver.olist.produto +WHERE descCategoria LIKE 'ferramentas%' -- % pegar qualquer coisa que vier depois, pode tbm ser no inicioou pode ser um nome e espaço% + +-- COMMAND ---------- + +--usando STARTWITH +SELECT * + +FROM silver.olist.produto + +WHERE startswith(descCategoria, 'ferramentas') -- uso do starwith e contains +AND contains(descCategoria, 'ferramentas' ) + diff --git a/Eduardo/dia_01/teste_teo_2023-09-14.sql b/Eduardo/dia_01/teste_teo_2023-09-14.sql new file mode 100644 index 0000000..6a907ef --- /dev/null +++ b/Eduardo/dia_01/teste_teo_2023-09-14.sql @@ -0,0 +1,2 @@ +-- Databricks notebook source +SELECT "Olá!" -- teste