this
в Javascript всегда ссылается на «владельца» выполняемой функции.
Если явный владелец не определен, то ссылается на самый верхний владелец - объект окна.
Итак, если бы я сделал
function someKindOfFunction() {
this.style = 'foo';
}
element.onclick = someKindOfFunction;
this
, он ссылался бы на объект элемента. Но будьте осторожны, многие люди делают эту ошибку
<element onclick="someKindOfFunction()">
В последнем случае вы просто ссылаетесь на функцию, а не передаете ее элементу. Поэтому this
будет ссылаться на объект окна.
В чистом SQL нет IF
, но вы могли бы объединить две части вашего запроса с UNION ALL
:
select ...
from b
where EXISTS ( select *
from a
where...
)
UNION ALL
select ...
from c
where NOT EXISTS ( select *
from a
where...
)
;
Вы можете просто использовать LEFT JOIN между вашими таблицами.
SELECT * FROM A
LEFT JOIN B ON ....
LEFT JOIN C ON ....
Таким образом, если он существует в B, вы получите ответ в той же строке. И если он не существует в B, а в C, вы также получите данные из C в той же строке.
Вы можете использовать его, но не в этом стиле (выглядит как стиль MS). IF
доступен на языке процедур plpgsql . Просто на языке SQL это невозможно.