Сокращенная запись для 'from' и 'where'
В тех случаях, когда поля двух таблиц связаны внешним ключом (foreign key),
а заполняя базу данных, пользователь заносит в связанные поля одинаковые значения,
появляется возможность использовать XPath для сокращения громоздких выражений, например
с XPath |
без XPath |
where a/b/c/d/@d3=k/l/m/n/@n2;
|
where a.uk=b.fk and
b.uk=c.fk and
c.uk=d.fk
and
k.uk=l.fk and
l.uk=m.fk and
m.uk=n.fk
and
d.d3=n.n2;
|
Причем предлагаю разрешить использование XPath также после служебных слов 'select' и 'from',
т.к. в паре ниже запрос слева выглядит намного лучше запрос справа.
select d/e/f/@f3
from a/b/c
where p/q/r/@r2=5;
|
select f3
from a/b/c/d/e/f
where ../../../p/q/r/@r2=5;
|
А также после служебных слов 'insert, update, delete'
insert into d/e/f/tab (fld)
values (5);
|
insert into a/b/c/@c1/d/e/f (fld)
values (5);
|
insert into a/b/c/@c1/d/e/tab
values ('<tag>...</tag>');
|
update d/e/f/tab
set @fld=5;
|
update d/e/f/tab
set @fld/p/q/r/@r1=5;
|
update a/b/c/@c1/d/e/f
set @fld=5;
|
delete from a/b/c/n;
|
Тюрин Дмитрий