При изучении регулярных выражений мне было интересно, как работает основной движок. Вероятно, более конкретно, я хотел бы узнать больше о том, как он оценивает, расставляет приоритеты и анализирует выражение. Я чувствую, что движок RegEx для меня является черным ящиком, и мне бы очень хотелось расшифровать его.
Поэтому я хотел бы спросить, есть ли какие-то замечательные ресурсы, которые я мог бы прочитать о том, как обсуждать теорию движка RegEx.
* Примечание: я не заинтересован в создании движка, просто изучаю его внутреннюю работу. ) СОЗДАЙТЕ ТАБЛИЦУ B (id INT ПЕРВИЧНЫЙ КЛЮЧ, x INT, y INT, ) Таблица A содержит данные, полученные из ...
Предположим, у меня есть две таблицы:
CREATE TABLE A(
id INT PRIMARY KEY,
x INT,
y INT
)
CREATE TABLE B(
id INT PRIMARY KEY,
x INT,
y INT,
)
Таблица A содержит данные, полученные от другого поставщика, в то время как таблица B является нашими данными. Для простоты я сделал эти таблицы абсолютно одинаковыми с точки зрения схемы, но таблица B, вероятно, будет надмножеством таблицы A (она будет содержать некоторые столбцы, которых таблица A не будет другими словами).
Что Я хотел бы создать представление C со столбцами id, x и y, чтобы значения приходили из таблицы B, если только они не равны NULL; в этом случае они исходят из таблицы A. Например, предположим, что у меня было следующее:
INSERT INTO A (id, x, y)
VALUES (1, 2, 3);
INSERT INTO B (id, x, y)
VALUES (1, NULL, NULL);
INSERT INTO A (id, x, y)
VALUES (2, 3, 4);
INSERT INTO B (id, x, y)
VALUES (2, 5, 6);
INSERT INTO A(id, x, y)
VALUES (3, 4, 5);
INSERT INTO B(id, x, y)
VALUES (3, 5, NULL);
Так что, если я выберу * из C, я получу следующие строки:
(1, 2, 3)
(2, 5, 6)
(3, 5, 5)
Как я могу создать такое представление?