Увеличивает выходные данные в ширину (в отличии от операций UNION/UNION ALL) Для примера будем использовать 2 таблицы table1 и table2: INNER JOIN Пример SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.a = t2.b LEFT JOIN Пример SELECT * FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.a = t2.b RIGHT JOIN Пример SELECT * FROM Table1 t1 RIGHT JOIN Table2 t2 ON t1.a = t2.b FULL JOIN Пример SELECT * FROM Table1 t1 FULL JOIN Table2 t2 ON t1.a = t2.b CROSS JOIN Пример SELECT * FROM Table1 t1 CROSS...
Началось всё отсюда: Продолжаем... CTE - Common Table Expressions (Распространенные табличные выражения) Начнем с того, что первым делом усложним нашу программу путём разделения кода на синхронный и асинхронный (я до сих пор не сильно догоняю - для чего это делается, надеюсь что в процессе пойму смысл происходящего). Будет два класса SyncORM и AsyncORM в файле orm.py и два SyncCore и AsyncCore в файле core.py, а в main.py будет делаться выбор в пользу того или иного способа. И вызываться оно будет из командной строки путём передачи аргументов с теми или иными вариантами запуска скрипта main...