Использование вложенных циклов является техникой обработки, которая работает как «грубая сила». Другими словами, для каждой строки внешней таблицы отыскивается и сравнивается каждая строка из внутренней таблицы. Псевдокод в примере 20.1 демонстрирует технику выполнения вложенных циклов для двух таблиц.
Здесь для каждой строки, выбранной из внешней таблицы (таблица а), осуществляется доступ ко всем строкам внутренней таблицы (таблица в). После этого выполняется сравнение значений, и строка добавляется в результирующий набор, если значения в обоих столбцах равны.
Метод вложенных циклов является очень медленным, если не существует индекса для одного из соединяемых столбцов. При отсутствии индекса Database Engine должен выполнять сканирование внешней таблицы один раз, а внутренней п раз, где п - количество выбранных строк внешней таблицы. По этой причине оптимизатор запросов обычно выбирает этот метод в том случае, когда соединяемый столбец во внутренней таблице индексирован, так что для внутренней таблицы не нужно выполнять сканирование для каждой строки внешней таблицы.