Да. Т.е. чтоб гарантированно получить данные в отсортированном порядке по возрастанию первичного ключа, необходимо добавлять. order by id, где id - первичный. Я просто предполагал что он по дефолту отдает данные отсортированные по первичному всегда
Если это просто запрос SELECT * FROM table ; то да, но он не обязан так делать. Практически это значит, что если вы добавляете условия, группировки, соединения таблиц, то оптимизатор решит в каком порядке выбирать данные наиболее эффективно и этот порядок может не совпадать с первичным ключом