En esta sección de SQL, analizaremos cómo comparar dos o más cadenas en el lenguaje de consulta estructurado.
Podemos comparar dos o más cadenas usando la función de cadena STRCMP, el operador LIKE y el operador Igual.
Función de cadena STRCMP
STRCMP es una función de cadena que compara las dos cadenas especificadas y da 0 si la longitud de la primera cadena es igual a la longitud de la segunda cadena. Si la longitud de la primera cadena es mayor que la longitud de la segunda cadena, entonces la función devuelve 1; de lo contrario, -1.
Sintaxis de la función STRCMP
SELECT STRCMP (String_1, String_2);
Ejemplos de función de cadena STRCMP
Ejemplo 1: La siguiente consulta SELECT compara la longitud de las cadenas JAVATPOINT y EXAMPLES:
SELECT STRCMP ('JAVATPOINT', 'EXAMPLES');
Producción:
1
Ejemplo 2: La siguiente consulta SELECT compara la longitud de dos oraciones que pasan en la función STRCMP:
SELECT STRCMP ('Website is good', 'javatpoint is good');
Producción:
-1
Ejemplo 3: La siguiente consulta SELECT compara la longitud de dos ciudades:
SELECT STRCMP ( 'Delhi', 'Noida');
Producción:
0
ME GUSTA Operador
El operador LIKE hace coincidir el patrón particular con cada fila del campo y devuelve los valores coincidentes en la salida. Este operador siempre se utiliza con la cláusula WHERE en la declaración SQL.
Sintaxis del operador Me gusta
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern;
Ejemplo de operador LIKE
Tomemos la siguiente tabla de estudiantes:
Rollo_No | Nombre de pila | Ciudad | Edad | Porcentaje | Calificación |
---|---|---|---|---|---|
101 | Akash | Delhi | 18 | 89 | A2 |
102 | bhavesh | Kanpur | 19 | 93 | A1 |
103 | yash | Delhi | 20 | 89 | A2 |
104 | bhavna | Delhi | 19 | 78 | B1 |
105 | yatin | Lucknow | 20 | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
107 | Vivek | Ir a | 20 | 80 | B2 |
Consulta 1: La siguiente consulta muestra el registro de aquellos estudiantes de la tabla de Estudiantes anterior cuyo nombre comienza con una letra 'B':
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%';
Salida de la consulta anterior:
Rollo_No | Nombre de pila | Porcentaje | Calificación |
---|---|---|---|
102 | bhavesh | 93 | A1 |
104 | bhavna | 78 | B1 |
Como se muestra en el resultado anterior, la tabla solo contiene el registro de los estudiantes de Bhavesh y Bhavna porque sus nombres comienzan con la letra B.
Consulta 2: La siguiente consulta muestra el registro de aquellos estudiantes de la tabla de estudiantes dada cuyo nombre contiene el carácter 'a' en cualquier posición:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ;
Salida de la consulta anterior:
Rollo_No | Nombre de pila | Ciudad | Edad | Porcentaje | Calificación |
---|---|---|---|---|---|
101 | Akash | Delhi | 18 | 89 | A2 |
102 | bhavesh | Kanpur | 19 | 93 | A1 |
103 | yash | Delhi | 20 | 89 | A2 |
104 | bhavna | Delhi | 19 | 78 | B1 |
105 | yatin | Lucknow | 20 | 75 | B1 |
106 | Ishaka | Ghaziabad | 19 | 91 | C1 |
Operador igual (=)
Es un tipo de operador de comparación que muestra los datos coincidentes de la tabla SQL proporcionada.
Este operador es muy utilizado por los usuarios de bases de datos en lenguaje de consulta estructurado.
Este operador devuelve filas VERDADERAS de la tabla de la base de datos si el valor de la columna es el mismo que el valor especificado en la consulta.
Sintaxis del operador igual:
SELECT * FROM Table_Name WHERE Column_Name = Value;
Ejemplo de operador igual
Tomemos la siguiente tabla de trabajadores:
ID_de_trabajador | Nombre_Trabajador | Ciudad_Trabajador | Trabajador_Salario | Bonificación_trabajador |
---|---|---|---|---|
101 | anuj | Ghaziabad | 35000 | 2000 |
102 | Tushar | Lucknow | 29000 | 3000 |
103 | Vivek | Calcuta | 35000 | 2500 |
104 | shivam | Ir a | 22000 | 3000 |
La siguiente consulta muestra el registro de aquellos trabajadores de la tabla de trabajadores cuyo Worker_Salary es 35000:
SELECT * FROM Worker WHERE Worker_Salary = 35000;
Producción:
ID_de_trabajador | Nombre_Trabajador | Ciudad_Trabajador | Trabajador_salario | Bono_Trabajador |
---|---|---|---|---|
101 | anuj | Ghaziabad | 35000 | 2000 |
103 | Vivek | Calcuta | 35000 | 2500 |