PHP – MySQL: consulta anidada

En este artículo, vamos a realizar operaciones de consulta anidadas en la base de datos en el servidor MySQL utilizando el servidor Xampp.

Introducción :

PHP significa preprocesador de hipertexto, que es un lenguaje de secuencias de comandos del lado del servidor y también se utiliza para manejar las operaciones de la base de datos. Somos un servidor PHP xampp para comunicarnos con la base de datos. El lenguaje utilizado es MySQL. MySQL es un lenguaje de consulta de base de datos que se utiliza para administrar bases de datos. Se comunica con PHP y administra la base de datos, realizando algunas operaciones.

Consulta anidada:

También se conoce como subconsulta o podemos decir que la consulta utilizada en una consulta se conoce como consulta anidada. Estamos tomando datos de college_details para realizar consultas anidadas.

Sintaxis:

SELECT column1,column2,column3,...,columnn
FROM table_name
WHERE column_name expression operator  
   ( SELECT COLUMN_NAME ...n from TABLE_NAME   WHERE ... );

El (SELECCIONE COLUMN_NAME …n from TABLE_NAME DONDE … ); es una interna/subconsulta.

Ejemplo :

Considere la tabla.

  • Consulta anidada para obtener todos los detalles del estudiante según sid,
SELECT * FROM college1 WHERE sid IN (SELECT sid FROM college1);

Resultado :

student id: 1 - student name: sravan kumar - student address: kakumanu
student id: 2 - student name: bobby - student address: kakumanu
student id: 3 - student name: ojaswi - student address: hyderabad
student id: 4 - student name: rohith - student address: hyderabad
student id: 5 - student name: gnanesh - student address: hyderabad
  • Consulta anidada para obtener todos los detalles del estudiante en función de sid menor que 4
SELECT * FROM college1 WHERE sid IN (SELECT sid where sid < 4);

Resultado :

student id: 1 - student name: sravan kumar - student address: kakumanu
student id: 2 - student name: bobby - student address: kakumanu
student id: 3 - student name: ojaswi - student address: hyderabad

Acercarse :

  • Cree una base de datos y cree una tabla en ella.
  • Escribir código PHP para insertar datos en él
  • Escriba código PHP para realizar consultas anidadas.

Pasos :

  • Inicie el servidor Xampp

  • Cree una base de datos llamada gfg y cree la tabla college1

columnas college1:

  • Insertar registros en la tabla usando código PHP

PHP

<?php
//servername
$servername = "localhost";
//username
$username = "root";
//empty password
$password = "";
//gfg is the database name
$dbname = "gfg";
  
// Create connection by passing these connection parameters
$conn = new mysqli($servername, $username, $password, $dbname);
// Check this connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
//insert records into table
$sql  = "INSERT INTO college1 VALUES (1,'sravan kumar','kakumanu');";
$sql .= "INSERT INTO college1 VALUES (2,'bobby','kakumanu');";
$sql .= "INSERT INTO college1 VALUES (3,'ojaswi','hyderabad');";
$sql .= "INSERT INTO college1  VALUES (4,'rohith','hyderabad');";
$sql .= "INSERT INTO college1  VALUES (5,'gnanesh','hyderabad');";
  
if ($conn->multi_query($sql) === TRUE) {
  echo "college 1 data inserted successfully";
} else {
  echo "Error: " . $sql . "<br>" . $conn->error;
}
  
$conn->close();
?>

Producción :

Escriba «localhost/insert.php» en el navegador para ejecutar el programa.

datos insertados,

Escribir código PHP para realizar la consulta anidada

formulario.php

PHP

<html>
<body>
<?php
//servername
$servername = "localhost";
//username
$username = "root";
//empty password
$password = "";
//gfg is the database name
$dbname = "gfg";
  
// Create connection by passing these connection parameters
$conn = new mysqli($servername, $username, $password, $dbname);
echo "<h1>"; echo "nested query Demo "; echo"</h1>";
echo "<br>";
echo "<h2>";echo "nested query to get student all details based on sid";echo "</h2>";
echo "<br>";
echo "<br>";
//sql query
$sql = "SELECT  * FROM college1 WHERE sid IN (SELECT sid FROM college1)";
$result = $conn->query($sql);
//display data on web page
while($row = mysqli_fetch_array($result)){
    echo " student id: ". $row['sid']," - student name: ". $row['sname']," -  student address: ". $row['saddress'];
      
    echo "<br>";
}
  
echo "<br>";
echo "<h2>";echo "nested query to get student all details based on sid less than 4";echo "</h2>";
echo "<br>";
echo "<br>";
//sql query
$sql = "SELECT  * FROM college1 WHERE sid IN (SELECT sid where sid < 4)";
$result = $conn->query($sql);
//display data on web page
while($row = mysqli_fetch_array($result)){
    echo " student id: ". $row['sid']," - student name: ". $row['sname']," -  student address: ". $row['saddress'];
      
    echo "<br>";
}
//close the connection
  
$conn->close();
?>
</body>
</html>

Producción :

Ejemplo 2

formulario1.php

PHP

<html>
<body>
<?php
//servername
$servername = "localhost";
//username
$username = "root";
//empty password
$password = "";
//gfg is the database name
$dbname = "gfg";
  
// Create connection by passing these connection parameters
$conn = new mysqli($servername, $username, $password, $dbname);
echo "<h1>"; echo "nested query Demo "; echo"</h1>";
echo "<br>";
echo "<h2>";echo "nested query to get student id";echo "</h2>";
echo "<br>";
echo "<br>";
//sql query
$sql = "SELECT  sid FROM college1 WHERE sid IN (SELECT sid FROM college1)";
$result = $conn->query($sql);
//display data on web page
while($row = mysqli_fetch_array($result)){
    echo " student id: ". $row['sid'];
    echo "<br>";
}
  
echo "<br>";
echo "<h2>";echo "nested query to get student name ";echo "</h2>";
echo "<br>";
echo "<br>";
//sql query
$sql = "SELECT  sname FROM college1 WHERE sid IN (SELECT sid FROM college1)";
$result = $conn->query($sql);
//display data on web page
while($row = mysqli_fetch_array($result)){
    echo " student name: ". $row['sname'];
    echo "<br>";
}
  
//close the connection
  
$conn->close();
?>
</body>
</html>

Producción :

Publicación traducida automáticamente

Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *