Size: a a a

SqlCom.ru - Стиль жизни SQL

2021 January 17

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Лучший ник
Ок бро, а лучше поставил int или Numeric?
Numeric 4
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
0xFF
1 = 2, что это?
Это константа false.

Дело в том, что булевых типов (и их литералов) нет ни в стандарте ни в MsSQLserver.
Поэтому пишет
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
0xFF
1 = 2, что это?
Берет все записи для которых верное условие 1=2
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Тоесть, так как мы с тобой знаем что такое не возможно, возьмёт 0 записей
источник

0

0xFF in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Это константа false.

Дело в том, что булевых типов (и их литералов) нет ни в стандарте ни в MsSQLserver.
Поэтому пишет
Реально?)
А как тогда проверяются выражения WHERE, HAVING ?
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
0xFF
Реально?)
А как тогда проверяются выражения WHERE, HAVING ?
Реально.
источник

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
0xFF
Реально?)
А как тогда проверяются выражения WHERE, HAVING ?
Константы в where высчитываются до исполнения, на этапе алгебраизатора. Hawing учитывается, если по констрейнтам условие не проходит(например
... group by (Id) having count (Id) >2, где Id unique) иначе будет вычисляться.
источник

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
Dmitriy Ivanov
Константы в where высчитываются до исполнения, на этапе алгебраизатора. Hawing учитывается, если по констрейнтам условие не проходит(например
... group by (Id) having count (Id) >2, где Id unique) иначе будет вычисляться.
И чтобы совсем стало понятно, то условия в where могут даже не влиять, т.к. логически вся конструкция операторов может вернуть false, раньше.

(8)  SELECT (9) DISTINCT (11) TOP <top_specification> <select_list>
(1)  FROM <left_table>
(3)       <join_type> JOIN <right_table>
(2)       ON <join_condition>
(4)  WHERE <where_condition>
(5)  GROUP BY <group_by_list>
(6)  WITH {CUBE | ROLLUP}
(7)  HAVING <having_condition>
(10) ORDER BY <order_by_list>
источник

AK

Alex Kim in SqlCom.ru - Стиль жизни SQL
Всем привет! Есть следующая задача:

Имеется таблица city_population с населением городов: city (наименование города), population (численность населения).

Необходимо написать запрос, который выводит город с минимальным населением.

Под эту задачу я написал SQL запрос

SELECT city,
MIN(population) AS lowest_population
FROM city_population


Мне сообщили, что он неверный. Можете объяснить почему?
источник

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
Alex Kim
Всем привет! Есть следующая задача:

Имеется таблица city_population с населением городов: city (наименование города), population (численность населения).

Необходимо написать запрос, который выводит город с минимальным населением.

Под эту задачу я написал SQL запрос

SELECT city,
MIN(population) AS lowest_population
FROM city_population


Мне сообщили, что он неверный. Можете объяснить почему?
Нет group by и этот запрос выводит все города, вместо одного
источник

AK

Alex Kim in SqlCom.ru - Стиль жизни SQL
А почему тогда у меня при проверке все работает как надо?
источник

AK

Alex Kim in SqlCom.ru - Стиль жизни SQL
источник

AK

Alex Kim in SqlCom.ru - Стиль жизни SQL
и здесь также группировка не обязательна при использзовании min и max
https://www.w3schools.com/sql/sql_min_max.asp
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Alex Kim
и здесь также группировка не обязательна при использзовании min и max
https://www.w3schools.com/sql/sql_min_max.asp
Потому что здесь нет групировка по полю
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Тоесть выводятся только агрегированные значения, а ты пытаешься вывести ещё город
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Вангую тут mySql может
источник

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
Андрій
Вангую тут mySql может
Именно так.
источник

G

Gopneg in SqlCom.ru - Стиль жизни SQL
Alex Kim
и здесь также группировка не обязательна при использзовании min и max
https://www.w3schools.com/sql/sql_min_max.asp
потому что в однажды мускле один надмозг решил что группировка не нужна для агрегатов, теперь они это г за собой сквозь века тащить будут вечно
источник

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
Alex Kim
и здесь также группировка не обязательна при использзовании min и max
https://www.w3schools.com/sql/sql_min_max.asp
Если у вас единственное поле, то group by можно опустить это для mssql,
Для mysql поведение другое, начиная с 5.7
https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html
источник

AK

Alex Kim in SqlCom.ru - Стиль жизни SQL
Всем спасибо за ответы
источник