Las condiciones de un WHERE siguen las mismas reglas que los ejercicios de Lógica: Si una condición OR debe ser evaluada como una sola proposición,
esta debe ser encerrada entre paréntesis.
Como los operadores de lógica se evalúan secuencialmente, en tu caso la idea es que devolverá los registros si:
1) nacionalidad es 1.
2) nacionalidad es 2 y departamento_donde_trabaja es 1.
Para que la disyunción opere bien hay dos formas:
Código sql:
Ver originalSELECT *
FROM tabla A
WHERE (nacionalidad = 1 OR nacionalidad = 2) AND departamento_donde_trabaja = 1;
o bien:
Código sql:
Ver originalSELECT *
FROM tabla A
WHERE nacionalidad IN (1, 2) AND departamento_donde_trabaja = 1;
La segunda forma es más rápida ante tablas muy grandes.