Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/09/2016, 11:17
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: ¿Está bien hecha esta consulta? Tengo Dudas

Hola basura1973:

En realidad la consulta es correcta, sin embargo hay algunos detalles que debes considerar.

1. Como buena práctica, trata de evitar los SELECT * en tus consultas, en lugar de esto lista todos los campos que realmente vas a necesitar. Incluso si fuera el caso y en realidad necesitas TODOS los campos de tu tabla (cosa que muy rara vez ocurre) es mejor listar la totalidad de los campos a poner el comodín asterisco (*).

2. Mucho ojo con el operador XOR, ya que no es lo mismo que el operador OR... no sé como tienes organizados tus datos, pero si fuera el caso y tanto tu campo USUARIO como tu campo LOGIN tuvieran el mismo valor, el resultado de XOR es FALSO (Sería algo como en el primer caso de este ejemplo):

Código MySQL:
Ver original
  1. mysql> SELECT 1 XOR 1;
  2.         -> 0
  3. mysql> SELECT 1 XOR 0;
  4.         -> 1
  5. mysql> SELECT 1 XOR NULL;
  6.         -> NULL
  7. mysql> SELECT 1 XOR 1 XOR 1;
  8.         -> 1

Observa la diferencia con el operador OR:

Código MySQL:
Ver original
  1. mysql> SELECT 1 OR 1;
  2.         -> 1
  3. mysql> SELECT 1 OR 0;
  4.         -> 1
  5. mysql> SELECT 0 OR 1;
  6.         -> 1
  7. mysql> SELECT 0 OR 0;
  8.         -> 0

3. Finalmente, dado que estás utilizando variables para construir tu sentencia SQL, debes verificar antes que estas tengan un valor, de lo contrario el resultado puede ser incierto.

Saludos
Leo.