q1 - это производная таблица с одним столбцом thexml типа XML с одной строкой на строку из MyTable.
q1.thexml, после операций замены и приведения, содержит все ранее разделенные запятыми значения из MyTable.Data в виде простой плоской последовательности элементов x - каждое из них содержит одно из исходных значений, разделенных запятыми.
Вызов метода узла просто возвращает таблицу из одного столбца с одной строкой на элемент x (т. Е. Одна строка на исходное значение, разделенное запятыми)
Обратите внимание, что запрос, написанный как есть, не будет работать должным образом, если у вас есть какие-либо символы XML в исходных данных, и производительность может быть проблемой для больших наборов данных.
В SQL Server 2016 была введена функция STRING_SPLIT. Это вернет таблицу из одного столбца из строки разделенных (например, запятыми) значений.
См .: https://docs.microsoft.com/en-us/sql/t-sql/functions/string-split-transact-sql