Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta con MySQL

Estas en el tema de Consulta con MySQL en el foro de Mysql en Foros del Web. Hola. Quisiera que alguien me diga como hacer la consulta en MySQL del siguiente enunciado: Sean la tablas: alumno (id_alumno, nombre_alu, edad, id_ciudad) ciudad (id_ciudad, ...
  #1 (permalink)  
Antiguo 06/03/2006, 09:48
 
Fecha de Ingreso: marzo-2006
Mensajes: 2
Antigüedad: 18 años, 1 mes
Puntos: 0
Consulta con MySQL

Hola.
Quisiera que alguien me diga como hacer la consulta en MySQL del siguiente enunciado:

Sean la tablas:
alumno (id_alumno, nombre_alu, edad, id_ciudad)
ciudad (id_ciudad, nombre_ciu, region)
Hacer la consulta que devuelva como resultado los nombres de los alumnos que son mayores de 20 años y que viven en
la ciudad de Sevilla.

Lo hice pero en SQL puro, y no sé si el mismo es válido para MySQL (y ahí está mi duda), es el siguiente:
SELECT aa.nombre_alu
FROM alumno AS aa, ciudad AS cc
WHERE aa.edad > 20 AND cc.nombre_ciu LIKE "Sevilla");

Vean que utilicé alias para las tablas.

Ahora supongo que su equivalente MySQL sería:

...
$consulta=mysql_quiery("SELECT aa.nombre_alu FROM alumno AS aa, ciudad AS cc WHERE aa. edad>20 AND
cc.nombre_ciu LIKE 'Sevilla'");
...

Por favor, corríganme si esto es correcto.
Muchas gracias.
  #2 (permalink)  
Antiguo 06/03/2006, 09:54
Avatar de inicio_paul  
Fecha de Ingreso: julio-2004
Mensajes: 46
Antigüedad: 19 años, 9 meses
Puntos: 1
Esta bien
$sql="SELECT aa.nombre_alu FROM alumno AS aa, ciudad AS cc WHERE aa. edad>20 AND
cc.nombre_ciu LIKE 'Sevilla";
//Aunque em mysql ya no es necesario colocar as solo un espacio en blanco
$consulta = mysql_query($sql) or die($sql." ".mysql_error());//Para observar si hay un posible error

//Para recorrer cada reguitro de tu consulta
while($row=mysql_fetch_object($consulta))
{
echo $row->nombre_alu//imprime el nombre del alumno
}

//Todo lo que has hecho esta bien Princesa
//solo que es mysql_query() no mysql_quiery()
//Chao
  #3 (permalink)  
Antiguo 06/03/2006, 10:14
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 18 años, 5 meses
Puntos: 3
Falta lo mas importante; que es el join que enlaza la ciudad del alumno con la tabla de ciudades.... asi
$sql="SELECT aa.nombre_alu FROM alumno AS aa, ciudad AS cc
WHERE aa. edad>20
AND aa.id_ciudad = cc.id_ciudad
AND cc.nombre_ciu = 'Sevilla'";

No tienes para que usar like si quieres solo a los que viven en Sevilla
  #4 (permalink)  
Antiguo 06/03/2006, 10:43
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 4 meses
Puntos: 5
Es un buen punto, sobre el JOIN, pero es recomendable hacer uso del JOIN, de esta manera, ya que cuando crezca tu base de datos tendras mejores tiempos de respuesta en tus consultas:

Código PHP:
//
$sql="SELECT aa.nombre_alu 
FROM alumno AS aa INNER JOIN ciudad AS cc ON (aa.id_ciudad = cc.id_ciudad)
WHERE aa. edad>20
AND cc.nombre_ciu = 'Sevilla'"

el problema de que si no le pones el JOIN, se creara un producto cartesiano de tus tuplas entre esas dos tablas, saludos, cya
__________________
"El Conocimiento es de todos, no solo de algunos"
  #5 (permalink)  
Antiguo 06/03/2006, 17:09
 
Fecha de Ingreso: marzo-2006
Mensajes: 2
Antigüedad: 18 años, 1 mes
Puntos: 0
Gracias a los tres por sus respuestas.
Saludos cordiales!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:26.