Nesta seção SQL, discutiremos como comparar duas ou mais strings na Structured Query Language
Podemos comparar duas ou mais strings usando a função de string STRCMP, o operador LIKE e o operador Equal.
Função de sequência STRCMP
STRCMP é uma função de string que compara as duas strings especificadas e fornece 0 se o comprimento da primeira string for igual ao comprimento da segunda string. Se o comprimento da primeira string for maior que o comprimento da segunda string, a função retornará 1, caso contrário -1.
Sintaxe da função STRCMP
SELECT STRCMP (String_1, String_2);
Exemplos de função STRCMP String
Exemplo 1: A consulta SELECT a seguir compara o comprimento das strings JAVATPOINT e EXAMPLES:
SELECT STRCMP ('JAVATPOINT', 'EXAMPLES');
Saída:
1
Exemplo 2: A consulta SELECT a seguir compara o comprimento de duas sentenças que passam na função STRCMP:
SELECT STRCMP ('Website is good', 'javatpoint is good');
Saída:
-1
Exemplo 3: A seguinte consulta SELECT compara o comprimento de duas cidades:
SELECT STRCMP ( 'Delhi', 'Noida');
Saída:
0
Operador LIKE
O operador LIKE corresponde ao padrão específico com cada linha do campo e retorna os valores correspondentes na saída. Este operador é sempre usado com a cláusula WHERE na instrução SQL.
Sintaxe do operador Like
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern;
Exemplo de operador LIKE
Vamos pegar a seguinte tabela Student:
Núm. da lista | Primeiro nome | Cidade | Idade | Percentagem | Nota |
---|---|---|---|---|---|
101 | Akash | Délhi | 18 | 89 | A2 |
102 | Bhavesh | Kanpur | 19 | 93 | A1 |
103 | Yash | Délhi | vinte | 89 | A2 |
104 | Bhavna | Délhi | 19 | 78 | B1 |
105 | Yatin | Luck agora | vinte | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
107 | Vivek | Goa | vinte | 80 | B2 |
Consulta 1: A consulta a seguir mostra o registro dos alunos da tabela Aluno acima cujo First_Name começa com uma letra 'B':
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%';
Saída da consulta acima:
Núm. da lista | Primeiro nome | Percentagem | Nota |
---|---|---|---|
102 | Bhavesh | 93 | A1 |
104 | Bhavna | 78 | B1 |
Conforme mostrado na saída acima, a tabela contém apenas o registro dos alunos Bhavesh e Bhavna porque seus nomes começam com a letra B.
Consulta 2: A consulta a seguir mostra o registro dos alunos da tabela Aluno fornecida cujo First_Name contém o caractere 'a' em qualquer posição:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ;
Saída da consulta acima:
Núm. da lista | Primeiro nome | Cidade | Idade | Percentagem | Nota |
---|---|---|---|---|---|
101 | Akash | Délhi | 18 | 89 | A2 |
102 | Bhavesh | Kanpur | 19 | 93 | A1 |
103 | Yash | Délhi | vinte | 89 | A2 |
104 | Bhavna | Délhi | 19 | 78 | B1 |
105 | Yatin | Luck agora | vinte | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
Operador igual (=)
É um tipo de operador de comparação que mostra os dados correspondentes de uma determinada tabela SQL.
Este operador é altamente utilizado pelos usuários de banco de dados em Structured Query Language.
Este operador retorna linhas TRUE da tabela do banco de dados se o valor da coluna for igual ao valor especificado na consulta.
Sintaxe do operador Equal:
SELECT * FROM Table_Name WHERE Column_Name = Value;
Exemplo de operador igual
Vamos pegar a seguinte tabela Worker:
ID_trabalhador | Nome_trabalhador | Cidade_trabalhador | Trabalhador_Salário | Trabalhador_Bônus |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 35.000 | 2000 |
102 | Tushar | Luck agora | 29.000 | 3.000 |
103 | Vivek | Calcutá | 35.000 | 2500 |
104 | Shivam | Goa | 22.000 | 3.000 |
A consulta a seguir mostra o registro dos trabalhadores da tabela de trabalhadores cujo Worker_Salary é 35000:
SELECT * FROM Worker WHERE Worker_Salary = 35000;
Saída:
ID_trabalhador | Nome_trabalhador | Cidade_trabalhador | Trabalhador_Salário | Trabalhador_Bônus |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 35.000 | 2000 |
103 | Vivek | Calcutá | 35.000 | 2500 |