Mag je in een SQL-query haakjes gebruiken?

Bijvoorbeeld:
dit:
SELECT * FROM tools WHERE 1 AND engels = "1" OR nederlands = "1" AND ID IN (SELECT ID FROM tools WHERE win7 = "1")
wil ik veranderen in:
SELECT * FROM tools WHERE 1 AND (engels = "1" OR nederlands = "1") AND ID IN (SELECT ID FROM tools WHERE win7 = "1")

Weet jij het antwoord?

/2500

Het beste antwoord

ja dat kan :) Toegevoegd na 45 seconden: nog eventjes gegoogled voor de zekerheid zie bron:

Bronnen:
http://www.w3schools.com/sql/sql_and_or.asp

Ja hoor, in een sql-query kun en mag je haakjes gebruiken. Ik vraag me alleen af wat je wilt doen met: Where 1 ... Je tweede voorbeeld is beter dan het eerste. Als je of engels of nederlands 1 wilt hebben een daarnaast moet je selectie voldoen aan ID in, dan moet je het stuk met OR erin altijd tussen haakjes zetten, anders krijg je minder betrouwbare resultaten. Je grijpt op het einde weer terug naar dezelfde tabel (innerjoin), is het dan niet handiger om deze in dit geval mee te nemen in je eerste query: Zoiets als dit: SELECT * FROM TOOLS WHERE (ENGELS = 1 OR NEDERLANDS = 1) AND WIN7= 1 ;

Ja dat mag. Hou er rekening mee dat als je een 'where 1=1' clausule er in hebt staan je bij niet opletten een altijd geldende query kan maken. Dat heb je niet nodig & moet er gewoon uit. Ook geneste queries zijn hier niet nodig EN onnodig langzaam. Dus gewoon: select [field names] from [table names] where [query argumenten] Er is GEEN ENKELE goede reden om de querie zoals je hem nu laat zien te gebruiken. OOK niet als je veel verschillende argumenten gaat gebruiken. Ik heb zelf in een project meer dan 8 tabellen, 30 velden en 8 of 9 beperkingen nodig, allemaal via het basis schema met joins

Stel zelf een vraag

Ben je op zoek naar het antwoord die ene vraag die je misschien al tijden achtervolgt?

/100