Você está na página 1de 45

STANDARD QUERY

LANGUAGE - SQL
INTRODUÇÃO
O que é o SQL

■ SQL significa linguagem de consulta estruturada


■ O SQL permite acessar e manipular bancos de dados
■ O SQL tornou-se padrão do American National Standards Institute
(ANSI) em 1986 e da International Organization for Standardization
(ISO) em 1987
O que o SQL pode fazer?

■ O SQL pode executar consultas em um ■ SQL pode criar novos bancos de


banco de dados dados
■ SQL pode recuperar dados de um ■ SQL pode criar novas tabelas em
banco de dados um banco de dados
■ SQL pode inserir registros em um banco
de dados ■ O SQL pode criar procedimentos
armazenados em um banco de
■ SQL pode atualizar registros em um dados
banco de dados
■ O SQL pode criar visualizações em
■ O SQL pode excluir registros de um um banco de dados
banco de dados
■ O SQL pode definir permissões em
tabelas, procedimentos e exibições
SQL é um padrão - MAS....

■ Embora o SQL seja um padrão ANSI/ISO, existem diferentes versões


da linguagem SQL.
■ No entanto, para estar em conformidade com o padrão ANSI, todos
eles suportam pelo menos os principais comandos (como SELECT,
UPDATE, DELETE, INSERT, WHERE) de maneira semelhante.
SGBDR Sistema de Gerenciamento de
Banco de Dados Relacional
■ RDBMS ou SGBDR significa Sistema de Gerenciamento de Banco de
Dados Relacional.
■ O RDBMS é a base do SQL e de todos os sistemas de banco de dados
modernos, como MS SQL Server, IBM DB2, Oracle, MySQL e Microsoft
Access.
■ Os dados no RDBMS são armazenados em objetos de banco de
dados chamados tabelas. Uma tabela é uma coleção de entradas de
dados relacionadas e consiste em colunas e linhas.
■ Cada tabela é dividida em entidades menores chamadas campos. Os
campos na tabela Clientes consistem em CustomerID, CustomerName,
ContactName, Address, City, PostalCode e Country. Um campo é uma coluna
em uma tabela projetada para manter informações específicas sobre cada
registro na tabela.
■ Um registro, também chamado de linha, é cada entrada individual que
existe em uma tabela. Por exemplo, há 91 registros na tabela Clientes
acima. Um registro é uma entidade horizontal em uma tabela.
■ Uma coluna é uma entidade vertical em uma tabela que contém todas as
informações associadas a um campo específico em uma tabela.
SINTAXE SQL
Tabelas de banco de dados

■ Um banco de dados geralmente contém uma ou mais tabelas.


■ Cada tabela é identificada por um nome (por exemplo, "Clientes" ou
"Pedidos").
■ As tabelas contêm registros (linhas) com dados.
■ A tabela acima contém cinco registros (um para cada cliente) e sete
colunas (CustomerID, CustomerName, ContactName, Address, City,
PostalCode e Country).
Instruções SQL

■ A maioria das ações que você precisa executar em um banco de


dados é feita com instruções SQL.
■ As instruções SQL são divididas em duas categorias principais: DDL
(Data Definition Language) e DML (Data Manipulation Language).
Cada categoria possui um conjunto específico de instruções que
desempenham funções distintas no gerenciamento e manipulação de
bancos de dados.
DDL (Data Definition Language): Definindo
a Estrutura dos Dados
■ A Data Definition Language (DDL) é uma parte essencial da
linguagem SQL que se concentra na definição, modificação e
exclusão de estruturas de dados em um banco de dados. Ela lida com
a criação e gestão dos objetos que compõem um banco de dados,
como tabelas, índices, restrições e outros elementos estruturais.
■ A seguir, algumas instruções DDL comuns
DDL (Data Definition Language):

■ CREATE: Cria novos objetos no banco de dados, como tabelas, visões, índices ou
esquemas.
■ ALTER: Modifica objetos existentes, como adicionar, modificar ou excluir colunas em
uma tabela.
■ DROP: Exclui objetos, como tabelas, visões ou índices, permanentemente do banco
de dados.
■ TRUNCATE: Remove todos os dados de uma tabela, mas mantém a estrutura da
tabela intacta.
■ RENAME: Renomeia um objeto existente, como renomear uma tabela ou uma coluna.
■ COMMENT: Adiciona comentários ou descrições a objetos no banco de dados.
■ GRANT: Concede permissões de acesso a usuários ou funções.
■ REVOKE: Revoga permissões previamente concedidas a usuários ou funções.
DML (Data Manipulation Language):
Manipulando os Dados
■ A Data Manipulation Language (DML) é uma parte vital da linguagem
SQL que se concentra na manipulação, consulta e gerenciamento dos
dados armazenados em um banco de dados. A DML permite que os
usuários executem operações como inserção, atualização, exclusão e
consulta de dados.
■ A seguir, algumas instruções DML comuns
DDL (Data Definition Language):

■ INSERT: Adiciona novos registros a uma tabela.


■ UPDATE: Modifica registros existentes em uma tabela.
■ DELETE: Remove registros de uma tabela.
■ MERGE: Realiza operações combinadas de INSERT, UPDATE e DELETE com base em
uma condição de correspondência.
■ CALL: Executa uma função ou procedimento armazenado.
■ EXPLAIN PLAN: Fornece informações sobre o plano de execução de uma consulta.
■ LOCK TABLE: Bloqueia uma tabela para evitar acesso concorrente.
■ SAVEPOINT: Define um ponto de salvamento dentro de uma transação para
posteriormente reverter para esse ponto se necessário.
Palavras-Chave:

■ As palavras-chave SQL são os blocos de construção fundamentais


para expressar as ações a serem realizadas no banco de dados.
Algumas palavras-chave comuns incluem SELECT, INSERT, UPDATE,
DELETE, CREATE, ALTER, DROP, FROM, WHERE, ORDER BY, GROUP
BY, JOIN, INNER, LEFT, RIGHT, OUTER, ON, HAVING, SET, VALUES e
muitas outras.
Cláusulas:

■ As cláusulas SQL são usadas para delimitar partes específicas de uma consulta ou comando.
Elas fornecem informações adicionais sobre como a ação deve ser executada. Exemplos
incluem:
– SELECT: Especifica as colunas a serem retornadas em uma consulta.
– FROM: Indica a tabela ou tabelas das quais você deseja selecionar ou manipular os
dados.
– WHERE: Filtra os resultados com base em uma condição.
– ORDER BY: Classifica os resultados em ordem ascendente ou descendente com base em
uma coluna.
– GROUP BY: Agrupa os resultados por valores em uma ou mais colunas.
– HAVING: Filtra grupos resultantes de uma cláusula GROUP BY.
– JOIN: Combina dados de duas ou mais tabelas com base em uma condição.
– LIMIT: Limita o número de resultados retornados.
Operadores

■ Os operadores SQL são usados para realizar comparações e


operações nos dados. Eles incluem:
■ Operadores de comparação (=, <, >, <=, >=, <>, BETWEEN, LIKE).
■ Operadores lógicos (AND, OR, NOT);
■ Operadores aritméticos (+, -, *, /) e outros operadores especiais.
Valores e Identificadores

■ Valores são os dados que você deseja manipular, inserir ou consultar.


Eles podem ser números, strings, datas, valores booleanos, entre
outros.
■ Identificadores são nomes de tabelas, colunas, visões e outros
objetos no banco de dados. Eles precisam seguir regras específicas,
como começar com uma letra ou um underscore (_), evitar palavras-
chave e não conter espaços.
Comentários

■ Os comentários em SQL são usados para adicionar notas explicativas


ao código, para referência futura ou para facilitar a compreensão.
Existem dois tipos de comentários:
■ Comentários de uma linha: Iniciados com -- e se aplicam a toda a
linha.
■ Comentários de várias linhas: Delimitados por /* e */, permitindo
comentários em várias linhas.
Funções e Expressões

■ As funções SQL são usadas para executar operações específicas nos


dados, como cálculos, formatação e manipulação de strings ou datas.
Algumas funções comuns incluem COUNT, SUM, AVG, MAX, MIN,
CONCAT, UPPER, LOWER, DATE_FORMAT, entre outras.
Subconsultas

■ As subconsultas permitem que você execute uma consulta dentro de


outra consulta. Elas podem ser usadas em cláusulas como WHERE,
FROM e HAVING para criar consultas mais complexas e detalhadas.
Transações

■ As transações SQL são usadas para agrupar várias operações em uma única
unidade de trabalho. Você pode iniciar uma transação com BEGIN, confirmar
(commit) as alterações com COMMIT ou desfazer (rollback) as alterações com
ROLLBACK.
Ponto-e-vírgula após instruções SQL?

■ Alguns sistemas de banco de dados requerem um ponto e vírgula no


final de cada instrução SQL.
■ O ponto e vírgula é a forma padrão de separar cada instrução SQL em
sistemas de banco de dados que permitem que mais de uma
instrução SQL seja executada na mesma chamada para o servidor.
INSTRUÇÃO SQL
SELECT
SQL SELECT

■ A instrução SELECT é usada para selecionar dados de um banco de


dados.
■ Os dados retornados são armazenados em uma tabela de resultados,
chamada conjunto de resultados.
SINTAXE SELECT

■ Aqui, column1, column2, ... são os nomes dos campos da tabela da


qual você deseja selecionar os dados. Caso queira selecionar todos
os campos disponíveis na tabela, utilize a seguinte sintaxe:
SINTAXE SELECT

■ A instrução SQL a seguir seleciona as colunas "CustomerName" e


"City" da tabela "Customers":

■ A instrução SQL a seguir seleciona todas as colunas da tabela


"Customers":
INSTRUÇÃO SQL
SELECT DISTINCT
INSTRUÇÃO SQL SELECT DISTINCT

■ A instrução SELECT DISTINCT é usada para retornar apenas valores


distintos (diferentes).
■ Dentro de uma tabela, uma coluna geralmente contém muitos valores
duplicados; e às vezes você deseja apenas listar os valores diferentes
(distintos).
SINTAXE SELECT DISTINCT
SINTAXE SELECT DISTINCT

■ A instrução SQL a seguir seleciona todos os valores (incluindo os


duplicados) da coluna "País" na tabela "Clientes":

■ A instrução SQL a seguir seleciona apenas os valores DISTINCT da


coluna "País" na tabela "Clientes":
SINTAXE SELECT DISTINCT

■ A instrução SQL a seguir lista o número de países clientes diferentes


(distintos):
CLÁUSULA SQL
WHERE
CLÁUSULA SQL WHERE

■ A cláusula WHERE é uma parte fundamental das consultas SQL no MySQL,


pois permite que você especifique condições para filtrar os dados que
deseja recuperar de um banco de dados. Nesta aula, exploraremos em
detalhes como usar a cláusula WHERE em consultas SELECT e veremos
exemplos práticos para entender melhor seu funcionamento.
■ O que é a Cláusula WHERE:
■ A cláusula WHERE é usada para definir condições que os registros devem
atender para serem incluídos no resultado da consulta. Ela é usada após a
cláusula SELECT e antes da cláusula FROM (quando aplicável).
Sintaxe Básica

■ A sintaxe básica da cláusula WHERE é a seguinte:

■ A condição é uma expressão que determina quais registros serão


retornados. Ela pode incluir operadores lógicos, operadores de comparação
e funções.
Exemplo 1: Selecionando Registros com
Base em um Valor Específico:
■ Suponha que temos uma tabela chamada "clientes" e queremos
selecionar todos os clientes que têm o nome "João". A consulta seria
assim:
Operadores de Comparação:

■ Os operadores de comparação são fundamentais para criar condições precisas em consultas SQL.
Aqui estão alguns operadores comuns:
■ = (Igual a):
– Por exemplo, WHERE idade = 30 selecionaria registros em que a coluna "idade" é igual a 30.
■ != ou <> (Diferente de):
– Por exemplo, WHERE sexo <> 'Feminino' selecionaria registros em que a coluna "sexo" não é
igual a "Feminino".
■ < (Menor que):
– Por exemplo, WHERE preco < 50 selecionaria registros em que a coluna "preço" é menor que
50.
■ > (Maior que)
– Por exemplo, WHERE saldo > 1000 selecionaria registros em que a coluna "saldo" é maior
que 1000.
■ <= (Menor ou igual a)
– Por exemplo, WHERE pontuacao <= 80 selecionaria registros em que a coluna
"pontuação" é menor ou igual a 80.
■ >= (Maior ou igual a)
– Por exemplo, WHERE data_registro >= '2023-01-01' selecionaria registros em
que a coluna "data_registro" é maior ou igual a 1 de janeiro de 2023.
Operadores Lógicos

■ Os operadores lógicos são usados para combinar condições em consultas SQL:


■ AND: Retorna registros se todas as condições forem verdadeiras.
– Por exemplo, WHERE idade > 25 AND salario > 50000 selecionaria registros
em que a idade é maior que 25 e o salário é maior que 50.000.
■ OR: Retorna registros se pelo menos uma das condições for verdadeira.
– Por exemplo, WHERE cidade = 'Nova York' OR cidade = 'Los Angeles'
selecionaria registros em que a cidade é "Nova York" ou "Los Angeles".
■ NOT: Inverte a condição.
– Por exemplo, WHERE NOT estado = 'Inativo' selecionaria registros em que o
estado não é "Inativo".
Exemplo 2: Usando Operadores de
Comparação:
■ A cláusula WHERE também permite o uso de operadores de
comparação, como "<", ">", "=", "<=", ">=" e "<>". Por exemplo, para
selecionar todos os produtos com um preço maior que $50:
Exemplo 3: Combinação de Condições com
Operadores Lógicos:
■ Você pode combinar várias condições usando operadores lógicos
como AND, OR e NOT. Por exemplo, para selecionar todos os clientes
com o nome "João" e que tenham mais de 30 anos:
ATIVIDADE EM SALA
ATIVIDADE

■ a. Selecione todos os clientes da tabela.


■ b. Selecione os nomes únicos das cidades presentes na tabela.
■ c. Selecione todos os clientes do Brazil
■ d. Selecione os clientes que pertencem ao Brazil do Rio de
Janeiro.
■ e. Selecione todos os funcionários em ordem alfabética de seus
nomes.
■ f. Selecione todos os funcionários em ordem decrescente de
seus paises.

Você também pode gostar