Baixe o app para aproveitar ainda mais
Prévia do material em texto
SQL Jean Turet jeanturet@gmail.com SQL Structured Query Language ◼ Linguagem de Consulta Estruturada Fundamentada no Modelo Relacional, inclui comando para: ◼ Definição de dados ◼ Consulta ◼ Atualização Usos de SQL DDL – Linguagem de Definição de Dados ◼ Criar (create) ◼ Destruir (drop) ◼ Modificar (alter) DML – Linguagem de Manipulação de Dados ◼ Consultar (select) ◼ Inserir (insert) ◼ Remover (delete) ◼ Atualizar (update) OpenRefine OpenRefine, formerly called Google Refine and before that Freebase Gridworks, is a standalone open source desktop application for data cleanup and transformation to other formats, the activity known as data wrangling. It is similar to spreadsheet applications (and can work with spreadsheet file formats); however, it behaves more like a database. OpenRefine It operates on rows of data which have cells under columns, which is very similar to relational database tables. An OpenRefine project consists of one table. The user can filter the rows to display using facets that define filtering criteria (for example, showing rows where a given column is not empty). Unlike spreadsheets, most operations in OpenRefine are done on all visible rows: transformation of all cells in all rows under one column, creation of a new column based on existing column data, etc. All actions that were done on a dataset are stored in a project and can be replayed on another dataset. Possible uses of software Cleaning messy data: for example if working with a text file with some semi-structured data, it can be edited using transformations, facets and clustering to make the data cleanly structured. Transformation of data: converting values to other formats, normalizing and denormalizing. Parsing data from web sites: OpenRefine has a URL fetch feature and jsoup HTML parser and DOM engine. Adding data to dataset by fetching it from webservices (i.e. returning json). For example, can be used for geocoding addresses to geographic coordinates. Aligning to Wikidata (formerly Freebase): this involves reconciliation — mapping string values in cells to entities in Wikidata. MySql WorkBench MySQL Workbench is a unified visual tool for database architects, developers, and DBAs. MySQL Workbench provides data modeling, SQL development, and comprehensive administration tools for server configuration, user administration, backup, and much more. MySQL Workbench is available on Windows, Linux and Mac OS X. MySql WorkBench Design MySQL Workbench enables a DBA, developer, or data architect to visually design, model, generate, and manage databases. It includes everything a data modeler needs for creating complex ER models, forward and reverse engineering, and also delivers key features for performing difficult change management and documentation tasks that normally require much time and effort. MySql WorkBench Develop MySQL Workbench delivers visual tools for creating, executing, and optimizing SQL queries. The SQL Editor provides color syntax highlighting, auto-complete, reuse of SQL snippets, and execution history of SQL. The Database Connections Panel enables developers to easily manage standard database connections, including MySQL Fabric. The Object Browser provides instant access to database schema and objects. MySql WorkBench Database Migration MySQL Workbench now provides a complete, easy to use solution for migrating Microsoft SQL Server, Microsoft Access, Sybase ASE, PostreSQL, and other RDBMS tables, objects and data to MySQL. Developers and DBAs can quickly and easily convert existing applications to run on MySQL both on Windows and other platforms. Migration also supports migrating from earlier versions of MySQL to the latest releases. Comandos Sql SQL - Criação de Tabelas Comando Create table (sintaxe) CREATE TABLE <tabela> (<descrição das colunas>); (<descrição das chaves>); SQL - Criação de Tabelas Comando Create table ❖ Ao se criar uma estrutura de uma tabela é necessário que o usuário forneça, para cada coluna, as seguintes informações: ❖ TIPO DE DADO ❖ EX: char, varchar2, number, date, etc. ❖ TAMANHO ❖ RESTRIÇÕES ❖ EX: primary key, foreign key, unique, not null, check. SQL - Criação de Tabelas Comando Create table (mais exemplos) CREATE TABLE cliente ( cod_cliente number(5), nome varchar2(70) NOT NULL, sexo char(1), cidade varchar2(70), estado char(2), telefone number(9), CONSTRAINT PK_CLIENTE PRIMARY KEY (cod_cliente) ); SQL - Criação de Tabelas Comando Create table (mais exemplos) CREATE TABLE vendedor ( cod_vendedor number(5), nome varchar2(70) NOT NULL, salario_fixo number(8), faixa_comissao char(1), CONSTRAINT PK_VENDEDOR PRIMARY KEY (cod_vendedor) ); SQL - Criação de Tabelas Comando Create table (mais exemplos) CREATE TABLE telefones_vendedor ( cod_vendedor number(5), telefone number(7), CONSTRAINT PK_FONES_VENDEDOR PRIMARY KEY (cod_vendedor, telefone), CONSTRAINT FK_FONES_VENDEDOR FOREIGN KEY (cod_vendedor) REFERENCES VENDEDOR(cod_vendedor) ); SQL - Criação de Tabelas Comando Create table (mais exemplos) CREATE TABLE produto ( cod_produto number(5), descricao varchar2(100), unidade varchar2(4), valor_unitario number(8), CONSTRAINT PK_PRODUTO PRIMARY KEY (cod_produto) ); SQL - Criação de Tabelas Comando Create table (mais exemplos) CREATE TABLE pedido ( num_pedido number(5), prazo_entrega number(5), cod_cliente number(5), cod_vendedor number(5), CONSTRAINT PK_PEDIDO PRIMARY KEY (num_pedido), CONSTRAINT FK_CLIENTE_PEDIDO FOREIGN KEY (cod_cliente) REFERENCES CLIENTE(cod_cliente), CONSTRAINT FK_VENDEDOR_PEDIDO FOREIGN KEY (cod_vendedor) REFERENCES VENDEDOR(cod_vendedor) ); SQL - Criação de Tabelas Comando Create table (mais exemplos) CREATE TABLE item_do_pedido ( num_pedido number(5), cod_produto number(5), quantidade number(6), CONSTRAINT PK_ITENS_DO_PEDIDO PRIMARY KEY (num_pedido, cod_produto), CONSTRAINT FK_PEDIDO_ITENS_DO_PEDIDO FOREIGN KEY (num_pedido) REFERENCES PEDIDO(num_pedido), CONSTRAINT FK_PRODUTO_ITENS_DO_PEDIDO FOREIGN KEY (cod_produto) REFERENCES PRODUTO(cod_produto) ); SQL – Exclusão de Tabelas Comando Drop table (sintaxe) DROP TABLE <tabela>; SQL – Exclusão de Tabelas Comando Drop table (exemplos) DROP TABLE item_do_pedido; SQL – Alteração de Tabelas Comando Alter table (sintaxe) ALTER TABLE <tabela> <ADD | MODIFY | DROP> (<descrição das colunas>); SQL – Alteração de Tabelas Comando Alter table (exemplos) ◼ Para adicionar a coluna data_nascimento na tabela cliente ALTER TABLE cliente ADD (data_nascimento date); ◼ Para excluir a coluna data_nascimento na tabela cliente ALTER TABLE cliente DROP (data_nascimento); ◼ Para modificar o tamanho da coluna telefone na tabela telefones_vendedor ALTER TABLE telefones_vendedor MODIFY (telefone number(9)); SQL – Inserção de Dados Comando Insert (sintaxe) INSERT INTO <nome da tabela> (<nomes das colunas>) VALUES (<valores>); SQL – Inserção de Dados Comando Insert (exemplos) INSERT INTO cliente (cod_cliente, nome, sexo, cidade, estado, telefone) VALUES (17,'Esdras','m','Recife','PE',34558787); INSERT INTO cliente VALUES (19,‘Ivan','m',‘Caruaru','PE',3333333); INSERT INTO vendedor (cod_vendedor, nome, salario_fixo, faixa_comissao) VALUES (29,’Almir’,350.0,’C’); INSERT INTO pedido (num_pedido, prazo_entrega, cod_cliente, cod_vendedor) VALUES (11,20,17,29); SQL – Inserção de Dados ComandoInsert (exemplos) INSERT INTO produto (cod_produto, descricao, unidade, valor_unitario) VALUES (1,'sal','kg‘,0.85); INSERT INTO produto (cod_produto, descricao, unidade, valor_unitario) VALUES (13,'ouro','g‘,6.18); INSERT INTO produto (cod_produto, descricao, unidade, valor_unitario) VALUES (87,'cano','m‘,1.97); INSERT INTO produto (cod_produto, descricao, unidade, valor_unitario) VALUES (77,'papel','m‘,1.05); INSERT INTO produto (cod_produto, descricao, unidade, valor_unitario) VALUES (30,'açúcar','sac‘,0.99); INSERT INTO produto (cod_produto, descricao, unidade, valor_unitario) VALUES (45,’madeira’,’m’,0.25); SQL – Inserção de Dados Comando Insert (exemplos) INSERT INTO item_do_pedido (num_pedido, cod_produto, quantidade) VALUES (11,87,10); INSERT INTO item_do_pedido (num_pedido, cod_produto, quantidade) VALUES (11,45,30); SQL – Atualização de Dados Comando Update (sintaxe) UPDATE <nome da tabela> SET <nome da coluna> = (<valor>) WHERE <condicao>; SQL – Atualização de Dados Comando Update (exemplos) UPDATE cliente SET nome = 'Esdras Ricardo’ WHERE cod_cliente = 17; UPDATE vendedor SET salario_fixo = 400 WHERE cod_vendedor = 29; UPDATE produto SET unidade = 'kg’ WHERE cod_produto = 13; SQL – Exclusão de Dados Comando Delete (sintaxe) DELETE FROM <nome da tabela> WHERE <condicao>; SQL – Atualização de Dados Comando Delete (exemplos) ◼ Excluindo o comprador “Josias” da tabela Cliente INSERT INTO cliente VALUES (35,‘Josias','m',‘Caruaru','PE',666666666); DELETE FROM cliente WHERE cod_cliente = 35; ◼ Excluindo o item “fósforo” da tabela Produto INSERT INTO produto VALUES (99,’fosforo’,’caix’,1); DELETE FROM produto WHERE cod_produto = 99; Comando Select Recuperar dados de uma tabela Comando Select (conceitos) ◼ Os dados armazenados em uma tabela podem ser recuperados (visualizados) de várias maneiras. ◼ O comando Select permite a seleção e a manipulação, para visualização das informações armazenadas no Banco de Dados. Recuperar dados de uma tabela Comando Select (conceitos) ◼ O Comando Select permite selecionar: Colunas específicas em uma tabela Todas as colunas Colunas com apelidos (alias) Expressões aritméticas Apenas algumas linhas das tabelas Linhas de forma ordenada SQL – Extração de Dados (1/6) Selecionando Colunas Específicas De uma Tabela SQL – Extração de Dados (1/6) Comando Select (sintaxe) ◼ Seleção de colunas específicas em uma tabela SELECT <nome(s) da(s) colunas> FROM <tabela>; SQL – Extração de Dados (1/6) Comando Select (exemplos) ◼ Seleção de colunas específicas em uma tabela Listar todos os produtos com as respectivas descrições, unidades e valores unitários. SELECT descricao, unidade, valor_unitario FROM produto; Listar da tabela CLIENTE, o nome do cliente, o sexo e a cidade onde mora. SELECT nome, sexo, cidade FROM cliente; SQL – Extração de Dados (2/6) Selecionando Todas as colunas De uma Tabela SQL – Extração de Dados (2/6) Comando Select (sintaxe) ◼ Seleção de todas as colunas de uma tabela SELECT * FROM <tabela>; SQL – Extração de Dados (2/6) Comando Select (Exemplos) ◼ Seleção de todas as colunas de uma tabela Listar todo o conteúdo de vendedor. SELECT * FROM vendedor; Listar da tabela CLIENTE, o código do cliente, o nome, o sexo, a cidade, o estado e o telefone. SELECT * FROM cliente; SQL – Extração de Dados (3/6) Colunas com apelidos (alias) SQL – Extração de Dados (3/6) Comando Select (contextualização) ◼ Seleção de colunas com apelidos Por default, o heading (nome da coluna criado no bd) apresentado na saída do SELECT é o nome da coluna na tabela. SQL permite que se apresente a saída de um SELECT com cabeçalhos de colunas ao nosso gosto. SQL – Extração de Dados (3/6) Comando Select (sintaxe) ◼ Seleção de colunas com apelidos SELECT <cabeçalho da coluna> AS <novo nome do cabeçalho da coluna> FROM <tabela>; SQL – Extração de Dados (3/6) Comando Select (Exemplos) ◼ Seleção de colunas com apelidos Listar da tabela CLIENTE, a cidade e o sexo do cliente como cidade_cliente e sexo_cliente. SELECT cidade as cidade_cliente, sexo as sexo_cliente FROM cliente; SQL – Extração de Dados (4/6) Manipulando dados numéricos: Operadores Aritméticos SQL – Extração de Dados (4/6) Comando Select (contextualização) ◼ Manipulando dados numéricos: Operadores Aritméticos Operadores aritméticos podem ser usados sobre qualquer coluna numérica. Operadores aritméticos são: Símbolo Operação + Adição - Subtração / Divisão * Multiplicação % Módulo SQL – Extração de Dados (4/6) Comando Select (Exemplos) ◼ Manipulando dados numéricos: Operadores Aritméticos Listar da tabela VENDEDOR, o nome do vendedor, o salário fixo e o triplo do mesmo. SELECT nome, salario_fixo, (salario_fixo * 3) FROM vendedor; SELECT nome, salario_fixo, (salario_fixo * 3) as salario_triplo FROM vendedor; Listar da tabela VENDEDOR, o nome do vendedor, o salário fixo e o dobro de seu salário acrescido de 350. SELECT nome, salario_fixo, ((salario_fixo * 2) + (350)) as dobro_salario_mais FROM vendedor; SQL – Extração de Dados (5/6) Selecionando apenas algumas Linhas da Tabela SQL – Extração de Dados (5/6) Comando Select (sintaxe) ◼ Selecionando apenas algumas Linhas da Tabela SELECT <nome(s) da(s) colunas> FROM <tabela> WHERE <condições de seleção> Operadores a) De Comparação b) Lógicos c) BETWEEN e NOT BETWEEN d) LIKE e NOT LIKE e) IN e NOT IN f) IS NULL e IS NOT NULL SELECT <nome(s) da(s) colunas> FROM <tabela> WHERE <nome da coluna> <operador> <valor> SQL – Extração de Dados (5/6) Comando Select (contextualização) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operador Significado = Igual != ou <> Diferente < Menor que > Maior que >= Maior ou igual que <= Menor ou igual que SQL – Extração de Dados (5/6) Comando Select (exemplos) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Listar o número do pedido, o código do produto e a quantidade de itens do pedido com a quantidade igual a 30. SELECT num_pedido, cod_produto, quantidade FROM item_do_pedido WHERE quantidade = 30; Quais os clientes que moram em Recife? SELECT nome FROM cliente WHERE cidade = ‘Recife’; SQL – Extração de Dados (5/6) Comando Select (exemplos) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Quais os clientes que não moram em Recife? SELECT nome FROM cliente WHERE cidade <> ‘Recife’; Quais os produtos com valor unitário menor ou igual a R$ 2.00? SELECT descricao FROM produto WHERE valor_unitario <= 2; SQL – Extração de Dados (5/6) Comando Select (contextualização) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos Operador Significado AND “E” lógico OR “Ou” lógico NOT Negação SQL – Extração de Dados (5/6) Comando Select (exemplos) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos Listar os produtos que tenham unidade igual a ‘m’ e valor unitário maior que R$ 1,00 da tabela PRODUTO. SELECT descricao FROM produto WHERE unidade = ‘m’ AND valor_unitario > 1; Liste os salários, as faixas de comissão e os nomes dos vendedores que pertencem a faixa de comissão ‘A’ ou que ganham um salário fixo acima de R$ 300,00.SELECT nome, salario_fixo, faixa_comissao FROM vendedor WHERE faixa_comissao = ‘A’ OR salario_fixo > 300; SQL – Extração de Dados (5/6) Comando Select (exemplos) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos Mostrar todos os pedidos que não tenham prazo de entrega igual a 15 dias. SELECT num_pedido FROM pedido WHERE NOT (prazo_entrega = 15); Mostrar todos os pedidos que não tenham prazo de entrega igual a 15 dias (sem utilizar o NOT). SELECT num_pedido FROM pedido WHERE (prazo_entrega <> 15); SQL – Extração de Dados (5/6) Comando Select (contextualização) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN Este operador propicia a pesquisa por uma determinada coluna e selecionando as linhas cujo valor da coluna esteja dentro de uma faixa determinada de valores, sem a necessidade dos operadores >=, <= e AND. Tanto o <valor1> quanto o <valor2> têm de ser do mesmo tipo de dado da coluna. SQL – Extração de Dados (5/6) Comando Select (sintaxe) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN WHERE <nome da coluna> BETWEEN <valor1> AND <valor2>; WHERE <nome da coluna> NOT BETWEEN <valor1> AND <valor2>; SQL – Extração de Dados (5/6) Comando Select (exemplos) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN Listar o código e a descrição dos produtos que tenham o valor unitário na faixa de R$ 0,97 e R$ 2,00. SELECT cod_produto, descricao FROM produto WHERE valor_unitario BETWEEN 0.97 AND 2; Listar o código e a descrição dos produtos que não tenham o valor unitário na faixa de R$ 1,00 e R$ 2,00. SELECT cod_produto, descricao FROM produto WHERE valor_unitario NOT BETWEEN 1 AND 2; SQL – Extração de Dados (5/6) Comando Select (contextualização) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN LIKE e NOT LIKE Os operadores LIKE e NOT LIKE só trabalham sobre colunas que sejam do tipo CHAR. Eles têm praticamente o mesmo funcionamento que os operadores = e <>, porém o poder desses operadores está na utilização do símbolo (%) que pode fazer o papel de “curinga”. % - substitui um ou mais caracteres _ - substitui um caractere qualquer SQL – Extração de Dados (5/6) Comando Select (sintaxe) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN LIKE e NOT LIKE WHERE <nome da coluna> LIKE <valor> WHERE <nome da coluna> NOT LIKE <valor> SQL – Extração de Dados (5/6) Comando Select (exemplos) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN LIKE e NOT LIKE <nome da coluna> LIKE ‘LÁPIS %’ pode enxergar os seguintes registros: o ‘LÁPIS PRETO’ o ‘LÁPIS BORRACHA’ o ‘LÁPIS CERA’ Ou seja, todos os registros que contenham ‘LÁPIS’ seguido de qualquer palavra ou conjunto de caracteres. SQL – Extração de Dados (5/6) Comando Select (exemplos) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN LIKE e NOT LIKE <nome da coluna> LIKE ‘%ÃO’ pode enxergar os seguintes registros: o ‘JOÃO’ o ‘SÃO JOÃO’ o ‘ALÇAPÃO’ o ‘CONDIÇÃO’ Ou seja, pode enxergar qualquer nome que termine com “ÃO”. SQL – Extração de Dados (5/6) Comando Select (exemplos) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN LIKE e NOT LIKE <nome da coluna> LIKE ‘%INHO%’ pode enxergar os seguintes registros: o ‘LEITE NINHO’ o ‘DANONINHO’ o ‘MINHOTO’ Ou seja, pode enxergar qualquer nome que possua o termo “INHO” em qualquer parte da palavra. SQL – Extração de Dados (5/6) Comando Select (exemplos) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN LIKE e NOT LIKE Listar todos os produtos que tenham o seu nome começando por “p”. SELECT descricao FROM produto WHERE descricao LIKE ‘p%’; Listar todos os produtos que tenham o seu nome terminando com “o”. SELECT descricao FROM produto WHERE descricao LIKE ‘%o’; SQL – Extração de Dados (5/6) Comando Select (exemplos) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN LIKE e NOT LIKE Listar os vendedores, cujos nomes não começam por “Jo”. SELECT nome_vendedor FROM vendedor WHERE nome_vendedor NOT LIKE ‘Jo%’; SQL – Extração de Dados (5/6) Comando Select (exemplos) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN LIKE e NOT LIKE EXERCÍCIO: ▪ 1)Cadastre quatro novos clientes na sua base de dados: Ivan, Ivanildo, Ivanilda e Ivana. ▪ 2) Pergunta-se: as consultas abaixo retornam o mesmo resultado? SELECT * FROM cliente WHERE nome LIKE ‘Iv_n’; SELECT * FROM cliente WHERE nome LIKE ‘Iv_n%’; SQL – Extração de Dados (5/6) Comando Select (contextualização) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN LIKE e NOT LIKE IN e NOT IN Esses operadores pesquisam registros que estão ou não contidos no conjunto de valores fornecido. Estes operadores minimizam o uso dos operadores =, <>, AND e OR. SQL – Extração de Dados (5/6) Comando Select (sintaxe) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN LIKE e NOT LIKE IN e NOT IN WHERE <nome da coluna> IN <valor> WHERE <nome da coluna> NOT IN <valor> SQL – Extração de Dados (5/6) Comando Select (exemplos) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN LIKE e NOT LIKE IN e NOT IN Listar os vendedores que são da faixa de comissão A e B. SELECT nome FROM vendedor WHERE faixa_comissao IN (‘A’, ’B’); Listar os vendedores que não são da faixa de comissão B e C. SELECT nome FROM vendedor WHERE faixa_comissao NOT IN (‘B’, ’C’); SQL – Extração de Dados (5/6) Comando Select (contextualização) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN LIKE e NOT LIKE IN e NOT IN IS NULL e IS NOT NULL Esses operadores pesquisam colunas que são nulas, ou não. SQL – Extração de Dados (5/6) Comando Select (sintaxe) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN LIKE e NOT LIKE IN e NOT IN IS NULL e IS NOT NULL WHERE <nome da coluna> IS NULL <valor> WHERE <nome da coluna> IS NOT NULL <valor> SQL – Extração de Dados (5/6) Comando Select (sintaxe) ◼ Selecionando apenas algumas Linhas da Tabela Operadores de Comparação Operadores Lógicos BETWEEN e NOT BETWEEN LIKE e NOT LIKE IN e NOT IN IS NULL e IS NOT NULL Mostrar os nomes dos clientes que não tenham estado. SELECT nome FROM cliente WHERE estado IS NULL; SQL – Extração de Dados (6/6) Ordenando os Dados Selecionados SQL – Extração de Dados (6/6) Comando Select (sintaxe)◼ Ordenando os Dados Selecionados SELECT <nome da(s) coluna(s)> FROM <tabela> WHERE <condição> ORDER BY <nome da coluna> <ASC | DESC>; SQL – Extração de Dados (6/6) Comando Select (contextualização) ◼ Ordenando os Dados Selecionados ◼ As palavras ASC e DESC significam, respectivamente, ascendente e descendente. ◼ A forma ascendente de ordenação é assumida como padrão. SQL – Extração de Dados (6/6) Comando Select (exemplos) ◼ Ordenando os Dados Selecionados Mostrar em ordem alfabética a lista de vendedores e seus respectivos salários fixos. SELECT nome, salario_fixo FROM vendedor ORDER BY nome ASC; Listar os nomes, cidades e estados de todos os clientes, ordenados por cidade de forma descendente. SELECT nome, cidade, estado FROM cliente ORDER BY cidade DESC; SQL – Extração de Dados (6/6) Comando Select (exemplos) ◼ Ordenando os Dados Selecionados Mostrar a descrição e o valor unitário de todos os produtos que tenham a unidade ‘m’, em ordem de valor unitário ascendente. SELECT descricao, valor_unitario FROM produto WHERE unidade = ‘m’ ORDER BY valor_unitario ASC; SQL – Extração de Dados (6/6) Comando Select (exemplos) ◼ Ordenando os Dados Selecionados Listar os nomes, cidades e estados de todos os clientes, ordenados por estado e cidade de forma descendente. SELECT nome as nome_cliente, cidade, estado FROM cliente ORDER BY estado DESC, cidade DESC; Neste caso, ele ordena primeiro por estado, depois por cidade ☺ Cenas dos próximos capítulos... Depois dos “comerciais”: ◼ Agrupamento [GROUP BY]; ◼ Funções de agrupamento [Count, sum, min, max, avg] E num futuro não muito distante: ◼ Junções [Manipular dados de múltiplas tabelas] ◼ Sub-query [Consultas encadeadas]
Compartilhar