Voorwaarden combineren wanneer AND prioriteit heeft (Visual Database Tools)

Van toepassing op: SQL Server

U kunt voorwaarden combineren door de kolom via AND twee keer aan de query toe te voegen: één keer voor elke voorwaarde. Als u voorwaarden wilt combineren met OR, plaatst u de eerste in de kolom Filter en aanvullende voorwaarden in een or... -kolom.

Stel dat u werknemers wilt vinden die langer dan vijf jaar bij het bedrijf zijn geweest in banen op lager niveau of werknemers met een baan op middelste niveau, ongeacht hun aanhuurdatum. Voor deze query zijn drie voorwaarden vereist, waarvan twee zijn gekoppeld aan AND:

  • Werknemers met een indiensttredingsdatum van meer dan vijf jaar geleden AND op een baanniveau van 100.

    – of –

  • Werknemers met een functieniveau van 200.

Voorwaarden combineren wanneer AND voorrang heeft

  1. Voeg in het deelvenster Criteria de gegevenskolommen toe die u wilt doorzoeken. Als u in dezelfde kolom wilt zoeken met twee of meer voorwaarden die zijn gekoppeld AND, moet u de naam van de gegevenskolom eenmaal toevoegen aan het raster voor elke waarde die u wilt zoeken.

  2. Voer in de kolom Filter alle voorwaarden in waarmee ANDu een koppeling wilt maken. Als u bijvoorbeeld voorwaarden wilt koppelen aan AND die zoeken in de kolommen hire_date en job_lvl, voert u respectievelijk de waarden < '1/1/91' en = 100 in de kolom Filter in.

    Deze rastervermeldingen produceert de volgende WHERE clausule in de instructie in het SQL-deelvenster:

    WHERE (hire_date < '01/01/91') AND
      (job_lvl = 100)
    
  3. Voer in de rasterkolom Of... voorwaarden in waarmee ORu een koppeling wilt maken. Als u bijvoorbeeld een voorwaarde wilt toevoegen waarmee wordt gezocht naar een andere waarde in de kolom job_lvl, voert u een extra waarde in de Of... kolom, zoals = 200.

    Als u een waarde toevoegt in de kolom Or... wordt een andere voorwaarde toegevoegd aan de WHERE component in de instructie in het SQL-deelvenster:

    WHERE (hire_date < '01/01/91') AND
      (job_lvl = 100) OR
      (job_lvl = 200)