Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
Запрос объединения MySQL
Запрос на объединение: объединение, результаты нескольких запросов (несколько операторов выбора) объединяются на уровне записи, когда количество полей одинаково.
базовая грамматика
Совместный запрос состоит из нескольких операторов выбора. Каждый оператор выбора получает одинаковое количество полей, но не имеет никакого отношения к типу поля.
базовая грамматика:select Утверждение 1 + union + [вариант объединения] + select Утверждение 2 + …;
Опция объединения: существует два типа, таких как опция выбора.
all: сохранять все записи, независимо от дубликатов;
различные: указывает на дедупликацию, которая является опцией по умолчанию.
Для проверки выполните следующий оператор SQL:
— Запрос объединения, дедупликация по умолчанию
select * from class
union distinct
select * from class;
— Запрос объединения, сохранить все записи
select * from class
union all
select * from class;
Как показано на картинке выше,Показаны две формы запросов на объединение. специально,Запрос на объединение требует только одинакового количества полей.,независимо от типа。Для проверки выполните следующий оператор SQL:
— Запрос на объединение, одинаковое количество полей, но разные типы
select id, grade, room from class
union distinct
select name, age, id from student;
Как показано на рисунке выше, совместный запрос сохраняет только поля первой таблицы, но не сохраняет поля второй таблицы.
значение
Существует два типа совместных запросов, а именно:
Запрос одной и той же таблицы имеет разные требования к времени. Например, запрос информации об учащихся требует сортировки мальчиков по возрастанию, а девочек — по убыванию возраста;
Для запросов к нескольким таблицам структуры нескольких таблиц абсолютно одинаковы, и поддерживаемые структуры данных также одинаковы.
Кроме того, если объем данных очень велик, необходимо разделить таблицы (вертикальные таблицы и горизонтальные таблицы), причем основой разделения таблиц является не что иное, как большие и часто используемые данные.
сортировать
Сначала давайте посмотрим на данные в таблице учеников:
Далее укажите требование: В существующей таблице учащихся пусть мальчики сортируются по возрастанию, а девочки сортируются по убыванию возраста. Судя по совместному запросу, который мы только что узнали, это кажется очень простым! Для проверки выполните следующий оператор SQL:
— В студенческой таблице, в зависимости от возраста, повышаются мужчины, понижаются женщины.
select * from student where gender = “boy” order by age asc
union
select * from student where gender = “girl” order by age desc;
Как показано на картинке выше, окей, кажется, что-то пошло не так! Это потому, что если вы хотите использовать порядок в совместном запросе by, мы должны заключить оператор выбора в круглые скобки. Для проверки выполните следующий оператор SQL:
— В студенческой таблице, в зависимости от возраста, повышаются мужчины, понижаются женщины.
(select * from student where gender = “boy” order by age asc)
union
(select * from student where gender = “girl” order by age desc);
Как показано на картинке выше,ах,Мы уже заключили оператор выбора в круглые скобки.,Но и мальчики и девочки не достигли наших целей! Все в порядке,Это потому, что я хочусуществоватьв совместном запросеorder Чтобы вступить в силу, мы должны использовать его с лимитом, и предельное количество лимита может быть установлено на очень большое значение. Для проверки выполните следующий оператор SQL:
— В студенческой таблице, в зависимости от возраста, повышаются мужчины, понижаются женщины.
(select * from student where gender = “boy” order by age asc limit 666)
union
(select * from student where gender = “girl” order by age desc limit 666);
Как показано на картинке выше, очевидно, что на этот раз наша цель достигнута!
Напоминание: содержимое, заключенное в символ [], указывает на дополнительные опции, символ + указывает на соединение.
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/132518.html Исходная ссылка: https://javaforall.cn