|
O primeiro conjunto de operadores que veremos são os operadores básicos ou aqueles que usam símbolos em vez de palavras-chave.
Equal To
Para determinar se algo é igual a outra coisa, usamos o sinal de igual =.
Isso geralmente é usado na cláusula WHERE para localizar registros que correspondem a um determinado valor.
WHERE expressão = expressão
Por exemplo, para encontrar todos os clientes na Flórida, nossa consulta pode ser assim:
SELECT id
, first_name
, address_state
FROM customer
WHERE address_state = 'FL';
Queremos ver os registros em que o valor address_state é igual a 'FL'.
Usamos aspas simples em torno de FL, pois é uma string ou valor de texto, que precisa de aspas simples.
Sem as aspas simples, seria tratado como uma palavra-chave SQL e provavelmente mostraria um erro.
(Se você estiver usando um valor que tenha aspas simples, como "O'Reilly", precisará "escapar" as aspas simples.
Você pode aprender o que é e como fazer isso neste artigo.)
Também podemos usar isso com números:
SELECT id
, first_name
, address_state
FROM customer
WHERE id = 4;
Ou com funções:
SELECT id
, first_name
, address_state
FROM customer
WHERE signup_date = TO_DATE('2018-01-04', 'YYYY-MM-DD');
Também é frequentemente usado em junções ::
SELECT c.id
, c.first_name
, c.last_name
, c.address_state
, o.order_id
, i.order_date
FROM customer c
INNER JOIN order o ON c.id = o.customer_id;
Neste exemplo, a junção é realizada entre a tabela de clientes e pedidos, onde o ID do cliente do pedido é igual ao ID do cliente.
Em quase todas as consultas que você escreve com junções, você usará o sinal de igual para unir as tabelas.
Já vi e escrevi alguns que usam outros símbolos, mas não com muita frequência.
Not Equal To
O conceito de “diferente de” significa que uma expressão não é igual a outra expressão.
É o oposto de “igual a”.
Em SQL, pode ser representado de duas maneiras.
- Usando !=, que usa um ponto de exclamação e é uma forma comum de escrever “not” em linguagens de programação.
- Usando <>, que é uma combinação de maior que e menor que.
Juntos, esses símbolos significam not equal to (diferente de..)
Pode ser assim:
WHERE expressão != expressão
WHERE expressão <> expressão
Qual deles você deve usar?
Eu recomendaria usar a versão de dois colchetes <>, porque é compatível com ANSI, o que significa que faz parte do padrão SQL.
Isso significa que sua consulta tem maior probabilidade de ser compatível com bancos de dados diferentes e é uma coisa a menos que você precisa alterar
se mover bancos de dados.
Agora, digamos que você queira localizar todos os clientes que não estão no estado da Califórnia (CA, para abreviar).
Sua consulta pode ter esta aparência:
SELECT id
, first_name
, address_state
FROM customer
WHERE address_state != 'CA';
Também pode ficar assim:
SELECT id
, first_name
, address_state
FROM customer
WHERE address_state <> 'CA';
Isso também pode ser usado com números.
SELECT id
, first_name
, address_state
FROM customer
WHERE id <> 3;
Também pode ser usado com as funções:
SELECT id
, first_name
, address_state
FROM customer
WHERE LENGTH(first_name) <> 3;
Um operador diferente pode ser usado em uma junção.
Por exemplo, pode ser usado em uma junção automática para obter uma lista de todas as combinações de valores, excluindo aquelas correspondentes.
Por exemplo, se você tiver um banco de dados de esportes e quiser criar uma lista de combinações de time da casa e time visitante:
SELECT h.team_name AS home_team
, a.team_name AS away_team
FROM teams h
INNER JOIN teams a ON h.id <> a.id;
Isso mostraria uma lista de todos os nomes de equipe em ambas as colunas onde o ID não corresponde.
Greater Than
Outro operador que pode ser usado é o operador maior que.
Isso usa o colchete angular >.
Lembro-me disso porque a seta sempre aponta para o menor dos números: 5 > 3.
WHERE expressão > expressão
Podemos usá-lo em consultas sobre números:
SELECT id
, first_name
, address_state
FROM customer
WHERE id > 7;
Também podemos usá-lo em datas:
SELECT order_id
, order_date
, cust_id
FROM order
WHERE order_date > TO_DATE('2018-02-15', 'YYYY-MM-DD');
Podemos usá-lo também em valores de texto, onde uma comparação é realizada com base nos caracteres da string:
SELECT id
, first_name
, address_state
FROM customer
WHERE first_name > 'Andy';
Isso significa que o “maior que” é calculado com base em onde o valor do texto apareceria se fosse classificado alfabeticamente.
Por exemplo, a consulta acima menciona:
WHERE first_name > ‘Andy’
Isso mostraria registros onde o primeiro nome é:
- Anne (porque “Ann” vem depois de “E”)
- Arthur (porque “Arte” vem depois de “E”)
- Brad (porque começa com B que vem depois de A)
Mas não mostraria:
- Andrew (porque “Andr” vem antes de “Andy”)
- Alex
Greater Than or Equal To
Se o símbolo maior for >, podemos verificar se é maior ou igual usando o símbolo >=.
É uma combinação de maior que e o símbolo de igual.
Ele encontrará todos os valores maiores ou iguais ao valor especificado.
WHERE expressão >= expressão
Podemos usá-lo em consultas sobre números:
SELECT id
, first_name
, address_state
FROM customer
WHERE id >= 11;
Também podemos usá-lo em datas:
SELECT order_id
, order_date
, cust_id
FROM order
WHERE order_date >= TO_DATE('2018-04-21', 'YYYY-MM-DD');
Podemos usá-lo também em valores de texto, onde uma comparação é realizada com base nos caracteres da string:
SELECT id
, first_name
, address_state
FROM customer
WHERE first_name >= 'John';
Less Than
O operador menor que é o colchete angular <, que aponta para a esquerda.
É usado para encontrar valores que são menores que outros valores.
WHERE expressão < expressão
Podemos usá-lo em consultas sobre números:
SELECT id
, first_name
, address_state
FROM customer
WHERE id < 19;
Também podemos usá-lo em datas:
SELECT order_id
, order_date
, cust_id
FROM order
WHERE order_date < TO_DATE('2017-12-31', 'YYYY-MM-DD');
Podemos usá-lo também em valores de texto, onde uma comparação é realizada com base nos caracteres da string:
SELECT id
, first_name
, address_state
FROM customer
WHERE first_name > 'Denise';
Less Than or Equal To
Assim como maior que tem um operador “maior que ou igual a”, existe um operador “menor que ou igual a”.
É uma combinação do símbolo menor que e um sinal de igual <=.
Ele encontrará quaisquer valores que sejam menores ou iguais ao valor especificado.
WHERE expressão <= expressão
Podemos usá-lo em consultas sobre números:
SELECT id
, first_name
, address_state
FROM customer
WHERE id <= 8;
Também podemos usá-lo em datas:
SELECT order_id
, order_date
, cust_id
FROM order
WHERE order_date <= TO_DATE('2018-01-10', 'YYYY-MM-DD');
Podemos usá-lo também em valores de texto, onde uma comparação é realizada com base nos caracteres da string:
SELECT id
, first_name
, address_state
FROM customer
WHERE first_name <= 'Miranda';
Copyright de Ben Brumm - DatabaseStar
|