Теория:

Запятая в сложносочинённом предложении ставится:
1) между частями сложносочинённого предложения, соединёнными соединительными (и, да, тоже, ни... ни...),
противительными (а, да, но, однако, зато),
разделительными (или, либо, ли... ли, то... то, не то... не то) союзами.
Пример:
«Как-то раз без хозяина ветер поиграл с домиком, и он сразу весь развалился...» (М. Пришвин).
«Либо мы выбираем какую-то одну дорогу, либо каждый идёт куда хочет»;

2) между безличными предложениями, входящими в состав сложносочинённого, если они неоднородны по своему составу.
Пример:
«На улице было холодно, и мне хотелось поскорей вернуться в дом»;

3) между номинативными предложениями, если их больше двух.
Пример:
«Ночь, улица, фонарь, аптека, // Бессмысленный и тусклый свет» (А. Блок).

Запятая
в сложносочинённом предложении не ставится:
1) между частями сложносочинённого предложения, если есть общий для обеих частей второстепенный член или вводные слова.
Пример:
«Вскоре после восхода набежала туча и брызнул короткий дождь» (А. Пушкин);

2) между частями сложносочинённого предложения, выраженными двумя вопросительными или двумя восклицательными предложениями, которые объединены общей интонацией.
Пример:
«Кто ты и что хочешь узнать?»

Точка с запятой
в сложносочинённом предложении ставится между его частями, которые значительно распространены и имеют внутри себя знаки препинания.
Пример:
«Лёгкая пыль жёлтым столбом поднимается и несётся по дороге; далеко разносится дружный топот, лошади бегут, навострив уши» (И. Тургенев).

Тире
в сложносочинённом предложении ставится между его частями, которые содержат неожиданное присоединение или резкое противопоставление.
Пример:
«Все выскочили, схватились за ружья — и пошла потеха» (М. Лермонтов).