Mysql em consulta

Mysql em consulta
No mundo dos bancos de dados, as consultas são uma das coisas constantes que todos implementamos. Embora o SQL tenha maneiras e convenções para realizar consultas específicas, às vezes é necessário definir condições personalizadas.

Um dos operadores condicionais populares e úteis no SQL é o operador em. Usando o operador no IN, podemos obter um valor booleano se um valor específico estiver em uma lista.

Este tutorial irá orientá -lo através do operador e como usá -lo para criar condições personalizadas para consultas SQL.
Antes de começarmos, assumimos que você tem um servidor MySQL instalado e configurado em seu sistema, e você tem um banco de dados de amostra com o qual trabalhar.

Para obter uma versão de amostra de um banco de dados MySQL, considere o banco de dados Sakila a partir do recurso fornecido abaixo:

https: // dev.mysql.com/doc/índice-outro.html

Uso básico

Se você não está familiarizado, o MySQL na declaração permite determinar se um valor está dentro de um conjunto de valores. Ele retorna principalmente um valor booleano com 1 (verdadeiro) se o valor estiver no conjunto e 0 (false) se o valor não estiver no conjunto.

A sintaxe geral da declaração é:

Selecione column_name de tabela_name onde (expressão | column_name) em (“value1, value2…)

Como você pode ver na sintaxe acima, a lista de valores é separada com vírgulas dentro do operador In no Operador.

Você pode usar uma expressão ou um nome de coluna com o operador dentro da declaração onde.

OBSERVAÇÃO: Evite combinar valores citados, como strings e valores não cotados, como números, uma vez que a comparação difere para vários tipos. Um exemplo de uso inválido da consulta é mostrado abaixo:

Selecione column_name de table_name onde o valor1 em ("a", 10, 10);

Uma vez que uma consulta como a acima é executada:

  1. Os valores são avaliados com base no tipo de resultado especificado da coluna ou expressão.
  2. Então, os valores são classificados e, finalmente, uma pesquisa é concluída usando uma pesquisa binária. Isso garante que a pesquisa seja rápida com erros mínimos.

Os valores nulos retornam um valor nulo.

Exemplo de uso de uso

Vamos ilustrar como usar o operador em exemplos usando exemplos.

Vamos começar com uma comparação simples que não requer um banco de dados. Considere a seguinte declaração:

Selecione 10 pol (5, 15, 25, 35);

Se você executar a consulta acima em um shell MySQL, você receberá 0 (false), indicando que o valor 10 não está no conjunto fornecido de valores.

MySQL> Selecione 10 pol (5, 15, 25, 35);
+-----------------------+
| 10 pol (5, 15, 25, 35) |
+-----------------------+
| 0 |
+-----------------------+
1 linha no conjunto (0.00 seg)

O caso também é verdadeiro se o valor que estamos procurando estiver no conjunto. Nesse caso, um 1 (true) é retornado conforme ilustrado na consulta abaixo:

Selecione 35 pol (5, 15,25,35);

A saída será como mostrado abaixo:

MySQL> Selecione 35 em (5, 15,25,35);
+---------------------+
| 35 em (5, 15,25,35) |
+---------------------+
| 1 |
+---------------------+
1 linha no conjunto (0.00 seg)

Suponha que você tenha uma tabela chamada filme (consulte o banco de dados Sakila) com linhas como mostrado abaixo:

+----------------------+
| Campo |
+----------------------+
| film_id |
| título |
| Descrição |
| release_year |
| idioma_id |
| original_language_id |
| Rental_Duration |
| Rental_rate |
| comprimento |
| substituição_cost |
| Classificação |
| Special_Features |
| last_update |
+----------------------+

Usamos o operador no IN para descobrir os títulos que têm uma duração de aluguel de 3, como mostrado na consulta abaixo:

Selecione Film_Id, título, Rental_Duration, classificação do filme onde Rental_Duration in (3) Limit 5;

Depois que a consulta acima for executada, você receberá todos os filmes (limitados a 5) onde a duração do aluguel é igual a 3. Aqui está a saída da amostra, como mostrado abaixo:

mysql> selecione film_id, title, Rental_duration, classificação do filme onde o Rental_duration in (3) limite 5;
+---------+-----------------+-----------------+--------+
| film_id | título | Rental_Duration | Classificação |
+---------+-----------------+-----------------+--------+
| 2 | Ace Goldfinger | 3 | PG-13 |
| 6 | Agente Truman | 3 | PG |
| 9 | Alabama Devil | 3 | PG-13 |
| 17 | Viagem sozinha | 3 | R |
| 21 | Circo americano | 3 | R |
+---------+-----------------+-----------------+--------+

Como você pode ver no exemplo acima, podemos usar o operador no IN para personalizar nosso resultado.

Conclusão

Este tutorial mostrou como usar e implementar o MySQL no operador para obter resultados personalizados.