Допустим, у меня есть таблица с двумя столбцами:
- город
- имя (человека).
У меня также есть объект "город" Java, который содержит:
- название города
- список всех людей в этом городе
Итак, теперь у меня есть два варианта получения данных:
- Сначала используйте DISTINCT, чтобы получить список всех городов. Затем для каждого города снова запросите базу данных, используя WHERE, чтобы получить только записи о том, где человек живет в этом городе. Затем я могу сохранить это в объекте City.
- Получите список всех данных, используя ORDER BY для упорядочения по названию города. Затем прокрутите все записи и начните сохранять их в объектах City. Когда я обнаруживаю, что название города изменилось, я могу создать новый объект City и сохранить в нем записи.
Какой из этих методов быстрее/лучше на практике? Или есть лучший способ получить эту информацию, чем эти два метода? Я использую базу данных Oracle.
Map
в коде Java, устраняя необходимость вORDER BY
. - person Andreas   schedule 26.07.2018DISTINCT
,WHERE
иORDER BY
, что указывает на то, что вопрос касается SQL, поэтому фраза Я бы рекомендовал делать подобные вещи с помощью SQL является излишним. --- Кроме того, OP уже говорит о решении с 1 запросом в № 2, поэтому утверждение Кажется возможным с одним запросом является излишним. --- Ваш комментарий излишен и даже не пытается ответить на вопрос: что лучше? - person Andreas   schedule 26.07.2018List<City>
сclass City { String name; List<String> personNames; }
(или аналогичным). - person Andreas   schedule 26.07.2018