¿Podemos usar subconsulto en la cláusula Where en mysql??

¿Podemos usar subconsulto en la cláusula Where en mysql??
En MySQL, una subconsulta es una consulta anidada dentro de la otra consulta, como "INSERTAR","SELECCIONAR","BORRAR", o "ACTUALIZAR" declaraciones. Además, una subconsulta se puede anidar dentro de la otra consulta y conocido como un "interno" consulta. Por otro lado, la consulta que tiene la subconsulta se llama "exterior" consulta. La consulta interna siempre se ejecuta individualmente, y la consulta externa depende de los resultados de la consulta interna.

Este artículo discutirá:

  • ¿Podemos usar subconsulto en la cláusula Where en mysql??
  • Cómo usar subconsulta en mysql donde cláusula?
  • Cómo usar la subconsulta MySQL con operadores de comparación en la cláusula WHERE?
  • Cómo usar la subconsulta MySQL en la cláusula Where con operadores "in" o "no en"?

¿Podemos usar subconsulto en la cláusula Where en mysql??

Sí, podemos usar la subconsulta en el "DÓNDE"Cláusula en mysql. La cláusula "Where" puede extraer registros que cumplan con las condiciones especificadas.

Sintaxis
La sintaxis general de la subconsulta de la cláusula Where se enumera a continuación:

Seleccione * de donde col1 = (seleccione desde dónde)

Ahora, usemos la subconsulta en el "DÓNDE"Cláusula para una mejor comprensión!

Paso 1: Acceda a MySQL
Primero, conéctese con el servidor MySQL ejecutando el "mysql"Consulta con nombre de usuario y contraseña predeterminada:

mysql -u raíz -p

Paso 2: Ver bases de datos
Entonces, usa el "ESPECTÁCULO"Comando para enumerar todas las bases de datos:

Mostrar bases de datos;

Hemos seleccionado el "mynewdbBase de datos para un proceso adicional:

Paso 3: Cambiar la base de datos
Ejecuta el "USAR"Declaración para cambiar la base de datos:

Usa mynewdb;

Paso 4: Ver tabla de base de datos
Ahora, ejecute el "SELECCIONARDeclaración para enumerar el contenido de la tabla:

Seleccionar * del estudiante;

Aquí, hemos enumerado el "alumno" mesa:

Del mismo modo, enumere el contenido del "Student_Marks" mesa:

Seleccionar * de student_marks;

Ahora, aplicaremos el "DÓNDE"Cláusula con subconsules en la tabla mencionada anteriormente para obtener los registros deseados.

Cómo usar subconsulta en mysql donde cláusula?

Ejecutar el "SELECCIONAR"Declaración con un"DÓNDE"Cláusula y"SELECCIONAR"Declaración como subconsulta:

Seleccione FirstName, City From Student Where std = (seleccione STD del estudiante donde lastName = "Khan");

Aquí:

  • "SELECCIONAR"La declaración se utiliza para seleccionar datos de bases de datos.
  • "Primer nombre, ciudad"Son las columnas de la tabla.
  • "DELa cláusula se usa para extraer algunas filas de la mesa.
  • "alumno"¿Es nuestro nombre de tabla?.
  • "DÓNDESe utiliza la cláusula para los registros de filtrado que cumplen las condiciones especificadas.
  • "Std"¿Es el nombre de la columna que contiene las identificaciones del estudiante?.
  • "LastName = 'Khan'"Es también nuestra columna de tabla.

En el comando indicado anteriormente, primero, la subconsulta se ejecutará. Después de eso, la consulta externa se ejecutará. Según la salida proporcionada, solo un registro cumple la condición especificada:

Cómo usar la subconsulta MySQL con operadores de comparación en la cláusula WHERE?

También podemos usar diferentes operadores de comparación para comparar un solo resultado devuelto por la subconsulta y la expresión en el "DÓNDE"Cláusula. Estos operadores de comparación son ">" mas grande que, "="Igual, y"<" menos que.

Ejemplo 1: Uso de ">" mayor que el operador de comparación en la cláusula "Where" con subconsulta
El comando estado a continuación devuelve los registros de aquellos estudiantes cuyas marcas son más altas que "70"Usando la subconsulta:

Seleccione * de Student_Marks Where std in (seleccione STD de Student_Marks donde marca> 70);

En esta consulta:

  • Primero, determinará el registro de aquellos estudiantes cuyas marcas están por encima "70"Usando la subconsulta.
  • Después de eso, la consulta externa devolverá las marcas con detalles cuyas ID de estudiante están en el conjunto de resultados devuelto por la subconsulta ejecutada:

Ejemplo 2: Usando "<” Less than Comparison Operator in “WHERE” Clause with Subquery
El siguiente comando devolverá los detalles de aquellos estudiantes cuyas marcas son menores que "70"Usando la subconsulta en el"DÓNDE"Cláusula:

Seleccione * de student_marks donde std in (seleccione std de student_marks donde marca < 70);

Según la declaración ejecutada, solo un estudiante tiene menos que "70" marcas:

Ejemplo 3: Usando "=" Operador de comparación igual en la cláusula "Where" con subconsulta
Del mismo modo, el comando establecido a continuación obtendrá los detalles de aquellos estudiantes cuyas marcas son iguales a los "78" utilizando el "SELECCIONAR"Declaración como subconsulta:

Seleccione * de Student_Marks Where std in (seleccione STD de Student_Marks Where Marks = 78);

Cómo usar la subconsulta MySQL en la cláusula Where con operadores "in" o "no en"?

Si la subconsulta especificada devuelve múltiples valores, debemos usar el "DÓNDE"Cláusula con el"EN" o "NO EN"Operador.

Supongamos que tenemos una tabla llamada "alumno"Eso contiene los siguientes datos:

El "Student_Marks"La tabla contiene los registros que cotizan a continuación:

Ejemplo 1: Uso del operador "no en" en la cláusula "Where" con subconsulta
Supongamos que tenemos una tabla llamada "alumno"Eso contiene los datos del alumno, como"Nombre de pila","Apellido","Ciudad","Dirección permanente", Y más detalles. Queremos obtener el "primer nombre" y la "ciudad" de la "alumno"Tabla donde las identificaciones de estudiantes no existen en la subconsulta. En una subconsulta, obtenemos el registro de estudiantes con diferentes nombres de ciudades:

Seleccione FirstName, Ciudad del estudiante donde no está en (seleccione la ciudad distinta del estudiante);

Aquí el "DISTINTO"La declaración se usa para devolver solo valores diferentes:

Ejemplo 2: Uso del operador "in" en la cláusula "Where" con subconsulta
Tenemos una mesa llamada "Student_Marks"Eso contiene los datos del alumno, como"Std","Nombre de pila","Apellido", y "Marcas". Necesitamos obtener el "primer nombre" del "Student_Marks"Tabla donde existen marcas de estudiantes en la subconsulta. En una subconsulta, estamos obteniendo las marcas de aquellos estudiantes que difieren unos de otros.

Para hacerlo, ejecute la declaración que se encuentra a continuación:

Seleccione STD, FirstName de Student_Marks donde se marcan (seleccione marcas distintas de Student_Marks);

Eso se trata de usar una subconsulta en la cláusula Where en MySQL.

Conclusión

Sí, puedes usar la subconsulta en MySQL "DÓNDE"Cláusula. Podemos usar operadores de comparación, como menores que, iguales y mayores que, en la cláusula "donde" subconsulta. Además, el "EN" y "NO ENLos operadores se pueden usar en la subconsulta. Este artículo demostró la subconsulta en la cláusula "Where" en MySQL.