Pierwszeństwo operatora (Entity SQL)
Gdy zapytanie Entity SQL ma wiele operatorów, pierwszeństwo operatora określa sekwencję, w której są wykonywane operacje. Kolejność wykonywania może znacząco wpłynąć na wynik zapytania.
Operatory mają poziomy pierwszeństwa pokazane w poniższej tabeli. Operator o wyższym poziomie jest oceniany przed operatorem o niższym poziomie.
Poziom | Typ operacji | Operator |
---|---|---|
1 | Podstawowe | . , [] () |
2 | Jednoargumentowy | ! not |
3 | Multiplikatywne | * / % |
100 | Dodatku | + - |
5 | Zamawianie | < > <= >= |
6 | Równość | = != <> |
7 | AND warunkowe | and && |
8 | OR warunkowe | or || |
Gdy dwa operatory w wyrażeniu mają ten sam poziom pierwszeństwa operatora, są oceniane od lewej do prawej na podstawie ich pozycji w zapytaniu. Na przykład x+y-z
wartość jest obliczana jako (x+y)-z
.
Nawiasy umożliwiają zastąpienie zdefiniowanego pierwszeństwa operatorów w zapytaniu. Wszystkie elementy w nawiasach są oceniane jako pierwsze w celu uzyskania pojedynczego wyniku, zanim będzie można go użyć przez dowolny operator poza nawiasami. Na przykład x+y*z
mnoży y
wartość , z
a następnie dodaje x
element , ale (x+y)*z
dodaje x
do y
elementu , a następnie mnoży wynik przez z
wartość .