Предположения:
1) Вы просто хотите получить список всех игроков без каких-либо ограничений
2) Один и тот же идентификатор игрока никогда не появляется в обеих таблицах (или, если это так, вам все равно, указаны ли они дважды)
Исходя из этих предположений, вы можете просто написать:
SELECT playerID, nameFirst, nameLast, bats, NULL as throws
FROM bats
UNION ALL
SELECT playerID, nameFirst, nameLast, NULL as bats, throws
FROM pits
Однако я думаю, что ваши данные не полностью нормализованы. Обе эти таблицы на самом деле являются списками игроков, лишь с небольшим изменением их атрибутов. Таким образом, более разумным общим подходом было бы просто иметь одну таблицу «игроков» со следующими столбцами:
playerID, nameFirst, nameLast, bats, throws
Летучие мыши и броски могут быть обнулены, если игрок не выполняет это действие. При необходимости вы можете добавить дополнительный столбец «player_type» для обозначения их роли (жидкое тесто, кувшин или оба, если это разрешено).
Как только вы получите эту структуру, запрос будет тривиальным:
SELECT playerID, nameFirst, nameLast, bats, throws
FROM players