sql >> Base de Datos >  >> RDS >> Database

SQL DONDE Múltiples Condiciones

En este tema, aprenderemos cómo agregar múltiples condiciones utilizando la cláusula WHERE.

Primero, comprendamos el concepto de la cláusula WHERE.

La cláusula WHERE se usa para especificar una condición al recuperar registros de una tabla.

La cláusula WHERE generalmente se usa con la instrucción SELECT en SQL

La consulta SELECT mostrará solo los registros que cumplan la condición especificada en la cláusula WHERE

Puede haber una o más de una condición especificada en la condición de la cláusula WHERE de una consulta SELECT.

Los operadores AND y OR se utilizan para verificar múltiples condiciones usando la cláusula WHERE en una sola consulta.

  • Operador AND con cláusula WHERE

Cada vez que se usa el operador AND entre las condiciones con la cláusula WHERE para verificar múltiples condiciones en la consulta SELECT, los resultados se muestran cuando solo se cumple más de una condición dada en la consulta.

Sintaxis:

SELECT *FROM table_name WHERE Condition 1 AND Condition 2 [AND Condition 3];

Ejemplo 1:

Considere la tabla de estudiantes que se muestra a continuación. Consideraremos la misma tabla para todos los siguientes ejemplos.

Student_RollNo Nombre_del_estudiante Género_Estudiante Student_MobileNumber Estudiante_Ciudad de Origen Edad_del_estudiante Porcentaje_de_estudiantes
1 Rohit Más Hombre 9890786123 Suerte ahora 23 75
2 Kunal Shah Hombre 7789056784 Chandigarh 20 68
3 Kartik Goenka Hombre 9908743576 Ahemdabad 22 92
4 Anupama Shah Mujer 8890907656 Chandigarh 24 94
5 Snehal jainista Mujer 8657983476 Surat 21 94

Ahora, veamos algunos ejemplos para entender este concepto de manera práctica.

mysql> SELECT *FROM students WHERE Student_Gender = "Male" AND Student_HomeTown = "Chandigarh";

Salida:

Solo hay un registro en la tabla de estudiantes con el número de registro 2, que tiene el género masculino y la ciudad natal de Chandigarh. Incluso si alguna de las condiciones especificadas no se cumple, entonces, en ese caso, la salida no será la misma. El registro o los registros que se muestren serán diferentes o, en algunos casos, la salida puede ser un conjunto vacío si ningún registro cumple ambas condiciones.

Ejemplo 2:

mysql> SELECT *FROM students WHERE Student_Age = 21 AND Student_Percentage = 94;

Salida:

Solo hay un registro con el número de registro '5' en la tabla de estudiantes, que tiene una edad igual a '21' y un porcentaje igual a '94'.

Ejemplo 3:

mysql> SELECT *FROM students WHERE Student_Gender = "Female" AND Student_HomeTown = "Chandigarh" AND Student_Age = 24;

Salida:

Entre todos los registros en la tabla de estudiantes, solo hay un registro con el número de registro '4', que tiene el género como 'masculino', la ciudad de origen como 'Chandigarh' y la edad es igual a '24'. Este es el único registro que cumple las tres condiciones.

Ejemplo 4:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" AND  Student_Name = "Kartik Goenka" AND Student_Percentage = 92;

Salida:

Entre todos los registros en la tabla de estudiantes, solo hay un registro con el número de registro '3' en el que se cumplen las tres condiciones, es decir, género como masculino, nombre igual a 'Kartik Goenka' y porcentaje igual a '92'.

  • Operador OR con cláusula WHERE

Cada vez que se usa el operador OR entre las condiciones con la cláusula WHERE para verificar múltiples condiciones en la consulta SELECT, los resultados se muestran cuando se cumple al menos una condición entre todas las demás condiciones escritas en una consulta.

Sintaxis:

SELECT *FROM table_name WHERE Condition 1 OR Condition 2 [OR Condition 3];

Ejemplo 1:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" OR Student_HomeTown = "Chandigarh";

Salida:

En la tabla de estudiantes, hay cuatro registros con los números de registro 1, 2, 3 y 4 que tienen el género masculino o la ciudad de origen como Chandigarh. Incluso si se cumplen las condiciones especificadas, ese registro se considerará como parte de la salida. En algunos casos, la salida puede ser un conjunto vacío si ningún registro satisface ninguna de las dos condiciones.

Ejemplo 2:

mysql> SELECT *FROM students WHERE Student_Age = 21 OR Student_Percentage = 94;

Salida:

Hay dos números de lista de registros '4' y '5' en la tabla de estudiantes, que tienen una edad igual a '21' o un porcentaje igual a '94'.

Ejemplo 3:

mysql> SELECT *FROM students WHERE Student_Gender = "Female" OR Student_HomeTown = "Chandigarh" OR Student_Age = 24;

Salida:

Entre todos los registros en la tabla de estudiantes, hay tres registros con el número de registro '2', '4' y '5', que tiene cualquiera de los dos géneros como 'femenino'; ciudad natal como 'Chandigarh' o la edad es igual a '24'. Estos son los registros que cumplen cualquiera de las tres condiciones.

Ejemplo 4:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" OR  Student_Name = "Kartik Goenka" OR Student_Percentage = 92;

Salida:

Entre todos los registros en la tabla de estudiantes, hay tres registros con números de registro '1', '2' y '3' en los que se cumple cualquiera de las tres condiciones, es decir, género como masculino, nombre igual a 'Kartik Goenka' o porcentaje es igual a '92'.

  • Operador AND y OR con cláusula WHERE en una única consulta

En la consulta de la cláusula WHERE con una declaración SELECT, también podemos usar una combinación de operadores AND y OR en una sola consulta. El propósito de usar las combinaciones de operadores AND y OR en una sola consulta es probar el nivel más alto de condiciones complicadas.

Sintaxis:

SELECT *FROM table_name WHERE Condition 1 AND/OR Condition 2 [AND/OR Condition 3];

Ejemplo 1:

mysql> SELECT *FROM students WHERE Student_Gender = "Female" AND Student_HomeTown = "Chandigarh" OR Student_Age = 24;

Salida:

De acuerdo con las condiciones de una consulta, el registro debe tener el género como 'femenino' y la ciudad de origen como 'Chandigarh'. La edad del estudiante puede o no ser '24'. Entonces, solo hay un registro con el número de registro '4', que cumple con estas condiciones. Incluso si algún registro tiene un género como "femenino" y una ciudad de origen que no sea "Chandigarh" o viceversa, ese registro no se considerará en la salida.

Ejemplo 2:

SELECT * FROM students WHERE Student_Gender = "Female" OR Student_HomeTown = "Chandigarh" AND Student_Age = 24;

Salida:

De acuerdo con las condiciones de una consulta, el registro debe tener el género como "femenino" o la ciudad de origen como "Chandigarh". La edad del estudiante no debe ser distinta de '24'. Entonces, hay dos registros con el número de registro '4' y '5' que cumplen estas condiciones.

Ejemplo 3:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" AND Student_HomeTown = "Lucknow" OR Student_Age = 23 AND Student_Percentage = 75;

Salida:

Solo hay un registro en la tabla de estudiantes con el género como 'masculino', la ciudad de origen como 'Lucknow' y el porcentaje de estudiantes debe ser '75'. La edad de un estudiante puede ser de 23 años o diferente de 23.

Ejemplo 4:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" OR Student_HomeTown = "Lucknow" AND Student_Age = 23 OR Student_Percentage = 75;

Salida:

En la tabla de estudiantes, hay tres registros que tienen el género como 'masculino' y la edad como '23'. La ciudad natal puede o no ser 'Lucknow'. Además, el porcentaje puede o no ser '75'.