Войти
ПрограммированиеФорумОбщее

SQL DATABASE (5 стр)

Страницы: 14 5 6 718 Следующая »
#60
8:27, 1 фев 2023

Rikk
> фирма подала конкретный именно этот учебник
> вопрос я задал как конкретно по именно учебнику и в конкретном пакете решить задачу.
ммм... допустим ты на работу бы устроился.
ты думаешь задачи, которые ты бы решал на работе они все тоже из учебника? (и других не бывает)

#61
8:28, 1 фев 2023

Rikk
> огромное число после 11класса не поступают в универ а идут в армию
Ну и пусть идут. Как это отменяет тот факт, что школьная программа - это детская программа для самых маленьких?

> учебник пробегите быстро до стр 140
Пробежал учебник до 3 страницы. В введении написано:

Предполагается, что приступающие к изучению данного учебного курса имеют
базовые представления об использовании языка запросов Transact-SQL (T-SQL) для
получения данных в SQL Server 2012 и опыт работы с данным продуктом.

#62
(Правка: 8:47) 8:40, 1 фев 2023

skalogryz
> решал на работе они все тоже из учебника?
подобные или примерные.
потому и существуют курсы обучения по программе такой и такой.не?
ранее имел дело с sql но на инструменте php сервер apache

#63
8:47, 1 фев 2023

Rikk
> подобные или примерные.
у меня для тебя плохие новости.

Rikk
> потому и существуют курсы обучения по программе такой и такой
все курсы дают общие азы.
когда доберёшься до дела всё начинается затачиваться под конретные бизнесс задачи.
А курсы нужны, чтобы о базовые вещи не спотыкаться, когда приступишь к полезной работе.

#64
(Правка: 15:56) 15:39, 1 фев 2023

А правильный ответ на исходную задачу так никто и не написал.

SELECT ISNULL(p.name, ''), SUM(o.sum)
FROM Operation AS o
LEFT JOIN Partner as p
  ON o.id_part = p.id_part
GROUP BY p.name;
#65
16:19, 1 фев 2023

Dieseluga
у тебя ошибка. Пустое имя будет первым в списке

#66
16:31, 1 фев 2023

skalogryz
Ошибки нет, так как в условии не сказано ничего про сортировку. Но при необходимости ничто не мешает добавить "ORDER BY p.name" или "ORDER BY p.name DESC", опять же, если это будет явно сказано в ТЗ.

#67
16:34, 1 фев 2023

сказано:

Необходимо написать SQL-запрос, который выводит результат:
name  sum
Иванов  5
Сидоров  90
  25

фамилии идут алфавитно, а пустое имя в конце

#68
(Правка: 16:48) 16:38, 1 фев 2023

skalogryz
"фамилии идут алфавитно, а пустое имя в конце" - это Вы написали, предположение.
Автор не указал сортировки, как обязательное условие. Если рассуждать по примеру вывода, то можно решить, что первые две строки сортируются, например, по сумме, а последняя строка - без фамилии. Повторюсь, явно об этом не сказано.

#69
16:41, 1 фев 2023

Dieseluga
благодарю

#70
(Правка: 17:11) 17:08, 1 фев 2023

Давайте я напишу универсальный вариант для большинства SQL-СУБД:

SELECT CASE WHEN p.name IS NULL THEN '' ELSE p.name END, SUM(o.sum)
FROM Operation AS o
LEFT JOIN Partner as p
  ON o.id_part = p.id_part
GROUP BY p.name
ORDER BY CASE WHEN p.name IS NULL THEN 1 ELSE 0 END, p.name
#71
18:55, 1 фев 2023

skalogryz
> благодарю

@Rikk, обрати внимание на то, что только что проделал Dieseluga:

Ошибки нет, так как в условии не сказано ничего про сортировку. Но при необходимости ничто не мешает добавить "ORDER BY p.name" или "ORDER BY p.name DESC", опять же, если это будет явно сказано в ТЗ

"фамилии идут алфавитно, а пустое имя в конце" - это Вы написали, предположение.
Автор не указал сортировки, как обязательное условие. Если рассуждать по примеру вывода, то можно решить, что первые две строки сортируются, например, по сумме, а последняя строка - без фамилии. Повторюсь, явно об этом не сказано.

Подобные навыки - навыки защиты своей работы, очень пригождаются в работе (особенно активно этим занимаются джуны и мидлы).
Что очень важно, ни один учебник об этом не расскажет. Какие-нить ютуб блогеры или нытики на хабре, могут рассказать, но их пример может быть для тебя далёк и непонятен.
А тут, всё происходит, как раз на примере твоей задачи.

Это так же является примером того, что в реальной работе ты будешь решать задачи иного рода, нежели: "подобные или примерные. (задачам из учебника)"
Тебе придётся заниматся переводом человеческих понятий, и ожиданий, в код.

#72
5:16, 2 фев 2023

skalogryz
> Расскажи лучше за Postgres, если он такой великий, нахрена в нём два синтаксиса
> (PL/pgSQL, PL/SQL)?
https://www.postgresql.org/docs/14/xplang.html - где два синтаксиса?
Я вижу только такие варианты - PL/pgSQL (Chapter 43), PL/Tcl (Chapter 44), PL/Perl (Chapter 45), and PL/Python (Chapter 46) - но тут ты сам же себе ответил, зачем оно надо.

Единственное упоминание PL/SQL, которое я нашёл - это в главе 43.13. Porting from Oracle PL/SQL. Может, это действительно просто два разных языка из разных движков, и ты всё перепутал?

skalogryz
> Это хорошо, если бд используется тупо как хранилище данных, и цельный софт не
> использует каких-нить специфических фич.
> Потому что если использует, то всё - сменить БД, без крови, не получиться.
Прочитай моё сообщение до конца.

Rikk
> потому такие девушки 11класс отличницы с пятерками а 1курс октябрь двоечницы и
> попутно преступницы—-надо мальчика побить отобрать списать.просто удивительно
> как в 11классе круглая отличница а через четыре месяца двоечница
> про все эти темы—-я хожу на то что мне надо—это неверно.вы должны посещать все
> занятия по плану а пропускать только по болезни.
Чего? Я давно уже не школьник и даже не студент, если что.

MrShoor
> Для сейвов в игре SQLite как-то оверкилл.
Ну вот для какого-нибудь элден ринга или майнкрафта, где мир сохраняется в реалтайме - он вполне бы подошёл, мне кажется.

А мудохаться с таблицами вовсе необязательно, если нам не нужно их индексировать и джойнить - мы можем тупо сделать CREATE TABLE (key text PRIMARY KEY, value blob NOT NULL) и использовать БД-файл тупо как вариацию на зип-архив - с тем отличием, что скулайт позволяет объединять произвольную последовательность чтений и записей в одну транзакцию.

Оно и в реальных базах данных бывает полезно. Выносить поля объекта в отдельные столбцы имеет смысл, только если с этими данными надо как-то работать на стороне движка БД - инспектировать в запросах, собирать в индексы, джойнить, груп-байить и так далее. Если же единственное, что требуется от базы данных - это прочитать блоб и передать его приложению - то вполне можно его как сплошной блоб и сохранить.

#73
6:47, 2 фев 2023

Имбирная Ведьмочка
> мы можем тупо сделать CREATE TABLE (key text PRIMARY KEY, value blob NOT NULL)
> и использовать БД-файл тупо как вариацию на зип-архив - с тем отличием, что
> скулайт позволяет объединять произвольную последовательность чтений и записей в
> одну транзакцию.
Тогда нафиг этот изврат? Мне и ОС позволяет объединить произвольную последовательность записей в одну транзакцию. Называется запись в отдельный новый файл.

#74
(Правка: 9:40) 9:38, 2 фев 2023

Имбирная Ведьмочка
> Прочитай моё сообщение до конца.
не согласен насчёт "махрового легаси"... было бы так, что MS SQL 2022 бы не выходил.
А майкрософт мало того что заделала Developer Edition (для нищебродов разрабов. Раньше бесплатного можно было только куцый Express Edition получить)
так ещё и наворотило поддержку MSSQL из линукса. 

Так что, конторы, у которых есть бабло, могут выбрать. Понятно, что у инди особо выбора нет. Между Postgres и MySQL (или как он сейчас ... MariaDb)


Имбирная Ведьмочка
> где два синтаксиса?
ты прав. Давай лучше с картинками!
Искарбоки, при написании хранимых процедур, можно выбрать следующие языки
"sql" и "plpgsql"

+ Показать

"sql" это типа синтаксис "обычный" как и произвольный SQL запрос. Но это не точно
а "plPgSql" это специальный сиснтасис SQL-а... но и это тоже не точно.

НО, в итоге выяснилось, что в "sql" синтаксисе объявить локальные переменные нельзя, в "plPgSQL" можно.

+ Показать

но синтаксис разный, и по-этому придёться учить и то и то.

а в MSSQL такого нет, там всё один сполошной TSQL. Очевидно, что время на освоение MSSQL сокращается в 2 раза.

Страницы: 14 5 6 718 Следующая »
ПрограммированиеФорумОбщее