Проталкивание
?-полусоединения через агрегирование: Следующее правило преобразования описывает, как протолкнуть ?-полусоединение через группировку и агрегирование.

где ? включает только атрибуты из g и atrrs(E2).
Здесь интуитивные соображения состоят в том, что если предикат полусоединения ? включает только атрибуты из g и atrrs(E2), то для каждой группы кортежей из E1 либо все кортежи будут выбраны при выполнении операции (E1 ?<? E2), либо не будет выбран ни один кортеж. Кортеж в результате операции ?, генерируемый для каждой группы, будет выбираться или не выбираться соответственно.
Если ? включает результаты агрегации, то операцию ?-полусоединения, вообще говоря, нельзя протолкнуть через агрегацию. В некоторых случаях, включающих min и max, операцию ?-полусоединения можно протолкнуть через g? f; см. [SSS95].