Здравствуйте, друзья!
Во всех СУБД есть средство позволяющее вывести информацию не из таблицы. Например, как вывести просто текущую дату? Как написать запрос, который бы вывел текущую дату (то есть не дату из какой-либо таблицы)? Для того, чтобы вывести какую–либо информацию не из таблицы, например, просто текущую дату, в Оракле предусмотрена псевдотаблица DUAL. Подробнее об этом и о том как это реализовано в других СУБД я написал в своем Яндекс.Дзен канале: https://zen.yandex.ru/media/iliahohlov/psevdotablica-dual-6298796568d4a92093f059ef
Во всех СУБД есть средство позволяющее вывести информацию не из таблицы. Например, как вывести просто текущую дату? Как написать запрос, который бы вывел текущую дату (то есть не дату из какой-либо таблицы)? Для того, чтобы вывести какую–либо информацию не из таблицы, например, просто текущую дату, в Оракле предусмотрена псевдотаблица DUAL. Подробнее об этом и о том как это реализовано в других СУБД я написал в своем Яндекс.Дзен канале: https://zen.yandex.ru/media/iliahohlov/psevdotablica-dual-6298796568d4a92093f059ef
Дзен | Статьи
Псевдотаблица DUAL
Статья автора «Илья Хохлов» в Дзене ✍: Здравствуй, уважаемый читатель! В предыдущем уроке я рассказал тебе, что такое псевдостолбцы.
👍2
Здравствуйте, уважаемые читатели! Сегодня решил написать небольшой пост "Каково быть программистом?"
Буду рад оценке, комментариям и лайкам 🙂
https://zen.yandex.ru/media/id/6141a8eaf1e1477af4f85ca7/629a1651bcc53d7ddf0de0d2
Буду рад оценке, комментариям и лайкам 🙂
https://zen.yandex.ru/media/id/6141a8eaf1e1477af4f85ca7/629a1651bcc53d7ddf0de0d2
Яндекс Дзен
Каково быть программистом?
Нужен ли для этого математический склад ума? Смогу ли я? Не будет ли мне скучно? Эти и другие вопросы задают нам ученики. Для того, чтобы быть программистом, не обязательно иметь математический склад ума. Нужно просто уметь логически мыслить. И быть программистом…
Здравствуйте, друзья!
Есть минутка? 🙂
Решите логическую задачу. Вечером дам правильный ответ!
В трёхэтажном доме на первом этаже живёт 1 человек, на втором - два и на третьем - три. Какую кнопку лифта нажимают чаще всего? 😉
Через несколько часов расскажу какую кнопку лифта нажимают чаще остальных. Сверите со своим вариантом ответа, и, если он будет правильным, то поставьте, пожалуйста, лайк. 👍
Посмотрим сколько лаков по отношению к количеству просмотров наберёт этот вопрос 🙂
Спасибо за участие!
Есть минутка? 🙂
Решите логическую задачу. Вечером дам правильный ответ!
В трёхэтажном доме на первом этаже живёт 1 человек, на втором - два и на третьем - три. Какую кнопку лифта нажимают чаще всего? 😉
Через несколько часов расскажу какую кнопку лифта нажимают чаще остальных. Сверите со своим вариантом ответа, и, если он будет правильным, то поставьте, пожалуйста, лайк. 👍
Посмотрим сколько лаков по отношению к количеству просмотров наберёт этот вопрос 🙂
Спасибо за участие!
👍7
Пришло время сообщить правильный ответ.
Чаще всего в лифте нажимают кнопку первого этажа. Все кто живёт и на третьем этаже и на втором, все ездят и на первый тоже. Как минимум, чтобы выходить из дома 🙂
Теперь посмотрим сколько лайков удастся собрать 🙂 Сколько у нас правильных ответов.
Чаще всего в лифте нажимают кнопку первого этажа. Все кто живёт и на третьем этаже и на втором, все ездят и на первый тоже. Как минимум, чтобы выходить из дома 🙂
Теперь посмотрим сколько лайков удастся собрать 🙂 Сколько у нас правильных ответов.
👍21
Здравствуйте, друзья!
Спасибо вам за участие во вчерашней логической задачке!
Набрали один лайк🙂👍
Значит был один правильный ответ! Ожидал немного больше, честно говоря 🙂 но зато спасибо за честность!
Спасибо вам за участие во вчерашней логической задачке!
Набрали один лайк🙂👍
Значит был один правильный ответ! Ожидал немного больше, честно говоря 🙂 но зато спасибо за честность!
👍9
Знаете что такое сиквенсы (SEQUENCES) в ORACLE?
Сиквенсы - это специальные
объекты-числовые счётчики, которые умеют в себе содержать текущее состояние и выдавать следующее значение. Счётчики (эти сиквенсы) можно настраивать, указывать с каким шагом выдавать следующее значение. Чаще всего новые значения генерируется с шагом 1.
Счётчики, как правило, создаются для формирования следующих значений при вставке новых строк таблиц. Вставляется новая строка- счетчик, привязанный к таблице, выдаёт новое (следующее) значение, вставляется ещё одна строка - выдаётся еще одно новое следующее значение.
Очень важным моментом является, что если вставку новых строк отменят в транзакции командой ROLLBACK, то счетчик обратно не "скрутится". Например, если в некоторой таблице были три строки с идентификаторами 1, 2 и 3, соответственно, и если в новой транзакции вставляется строка с идентификатором 4, которая отменяется командой Rollback, то теперь, вставится следующая строка уже с идентификатором 5. 🙂👍
Счётчики не откатываются командой ROLLBACK. Этот вопрос иногда задают на собеседовании🙂👌
Сиквенсы - это специальные
объекты-числовые счётчики, которые умеют в себе содержать текущее состояние и выдавать следующее значение. Счётчики (эти сиквенсы) можно настраивать, указывать с каким шагом выдавать следующее значение. Чаще всего новые значения генерируется с шагом 1.
Счётчики, как правило, создаются для формирования следующих значений при вставке новых строк таблиц. Вставляется новая строка- счетчик, привязанный к таблице, выдаёт новое (следующее) значение, вставляется ещё одна строка - выдаётся еще одно новое следующее значение.
Очень важным моментом является, что если вставку новых строк отменят в транзакции командой ROLLBACK, то счетчик обратно не "скрутится". Например, если в некоторой таблице были три строки с идентификаторами 1, 2 и 3, соответственно, и если в новой транзакции вставляется строка с идентификатором 4, которая отменяется командой Rollback, то теперь, вставится следующая строка уже с идентификатором 5. 🙂👍
Счётчики не откатываются командой ROLLBACK. Этот вопрос иногда задают на собеседовании🙂👌
👍5🔥3
АНЕКДОТЫ ПРО ПРОГРАММИСТОВ
Работа программиста и шамана имеет много общего - оба бормочут непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает.
🙂🙂🙂
Из комбинации лени и логики получаются программисты.
🙂🙂🙂
Приходит программист к другу-пианисту – посмотреть на новый рояль. Долго ходит вокруг, хмыкает, потом заявляет: - Клава неудобная – всего 84 клавиши, половина функциональных, ни одна не подписана; хотя... шифт нажимать ногой – оригинально...
Анекдоты взяты из Интернета. Любое совпадение с реальной жизнью - случайность! 🙂
Работа программиста и шамана имеет много общего - оба бормочут непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает.
🙂🙂🙂
Из комбинации лени и логики получаются программисты.
🙂🙂🙂
Приходит программист к другу-пианисту – посмотреть на новый рояль. Долго ходит вокруг, хмыкает, потом заявляет: - Клава неудобная – всего 84 клавиши, половина функциональных, ни одна не подписана; хотя... шифт нажимать ногой – оригинально...
Анекдоты взяты из Интернета. Любое совпадение с реальной жизнью - случайность! 🙂
😁7
Всем доброй пятницы!
Предлагаю немного вспомнить "матчасть" 🙂
Помните что такое первичный ключ, что такое суррогатный ключ?
Первичный ключ - это столбец (или набор столбцов) в таблице, с помощью значения которого (которых) всегда можно сослаться, выйти только на одну строку в таблице. Значения этого столбца служат идентификатором каждой строки таблицы и поэтому не могут иметь пустые или повторяющиеся значение. Если в таблице в существующих столбцах нет столбца с данными, которые могли бы быть уникальны в пределах таблицы (а такой столбец нужен), то добавляется ещё один столбец к таблице, данные которого не имеют отношения к смыслу хранящихся сведений и почти всегда являются просто сквозной авто-нумерацией строк. Этот столбец и называется суррогатным ключом. Значения в такой столбец, как правило, формируются счетчиком (сиквенсом) или с помощью автоинкрементных полей.
На нашем Youtube-канале я разместил видео, где рассказываю более подробно об этом: https://youtu.be/43yOFoEOKeI.
Предлагаю немного вспомнить "матчасть" 🙂
Помните что такое первичный ключ, что такое суррогатный ключ?
Первичный ключ - это столбец (или набор столбцов) в таблице, с помощью значения которого (которых) всегда можно сослаться, выйти только на одну строку в таблице. Значения этого столбца служат идентификатором каждой строки таблицы и поэтому не могут иметь пустые или повторяющиеся значение. Если в таблице в существующих столбцах нет столбца с данными, которые могли бы быть уникальны в пределах таблицы (а такой столбец нужен), то добавляется ещё один столбец к таблице, данные которого не имеют отношения к смыслу хранящихся сведений и почти всегда являются просто сквозной авто-нумерацией строк. Этот столбец и называется суррогатным ключом. Значения в такой столбец, как правило, формируются счетчиком (сиквенсом) или с помощью автоинкрементных полей.
На нашем Youtube-канале я разместил видео, где рассказываю более подробно об этом: https://youtu.be/43yOFoEOKeI.
YouTube
Первичный ключ, внешний ключ, суррогатный ключ / Илья Хохлов
Первичный ключ - это столбец (или набор столбцов) в таблице, с помощью значения которого (которых) всегда можно сослаться, выйти только на одну строку в таблице. Значения этого столбца служат идентификатором каждой строки таблицы и поэтому не могут иметь…
👍5
Здравствуйте, друзья!
На прошлой неделе на практике понадобилось интересное использование функции ROUND, которым хочу поделиться. Дело было в Оракле.
Основное назначение функции ROUND - это математическое округление числовых значений (в ближайшую сторону).
Пример:
SELECT ROUND(1.271)
FROM DUAL
Результат: 1
Еще пример:
SELECT ROUND(1.58)
FROM DUAL
Результат: 2
Функции ROUND можно дать второй параметр, указать до какого знака после запятой производить округление, пример:
SELECT ROUND(1.271, 1)
FROM DUAL
Результат: 1.3.
То есть мы произвели округление до одного знака после запятой.
На прошлой неделе на практике понадобилось интересное использование функции ROUND, которым хочу поделиться. Дело было в Оракле.
Основное назначение функции ROUND - это математическое округление числовых значений (в ближайшую сторону).
Пример:
SELECT ROUND(1.271)
FROM DUAL
Результат: 1
Еще пример:
SELECT ROUND(1.58)
FROM DUAL
Результат: 2
Функции ROUND можно дать второй параметр, указать до какого знака после запятой производить округление, пример:
SELECT ROUND(1.271, 1)
FROM DUAL
Результат: 1.3.
То есть мы произвели округление до одного знака после запятой.
👍8
Функция ROUND может округлять не только числовые значения, но и даты. И точно также можно указывать до какой части даты (до года, месяца, дня, часа, минуты и т.д) округлить. Например, можно округлить дни в месяце, сделав дату от середины месяца уже датой следующего месяца.
Или можно округлить минуты, чтобы в случае если в дате со временем указано от 30 секунд и больше, чтобы в финальном значении оно сделалось следующей минутой.
Или можно округлить минуты, чтобы в случае если в дате со временем указано от 30 секунд и больше, чтобы в финальном значении оно сделалось следующей минутой.
👍5
Например, ROUND(SOME_DATE, 'HH24') будет округлять до часов, отбросив минуты и секунды. Если количество минут (и секунд) больше получаса, то это сделает в конечном значении следующий час.
ROUND(SOME_DATE, 'MI') округлит до минут и ROUND(SOME_DATE, 'SS') округлит до секунд.
ROUND(SOME_DATE, 'MI') округлит до минут и ROUND(SOME_DATE, 'SS') округлит до секунд.
👍6
Если функция ROUND откругляет число, то результатом работы функции будет округленное число. Если функция ROUND округляет дату, то, она хоть и изменится (например, округлятся часы), но останется датой (например, минуты будут приведены в 00, и конечный результат будет приведён к ближайшем часу - к меньшем или большему в зависимости от количества минут).
👍7
Не привычно округлять даты, да? 🙂
Вот что у нас получилось на прошлой нелеле:
Вот что у нас получилось на прошлой нелеле:
👍5
Всем привет!
Сегодня предлагаю попробовать найти в коде ошибку. Данный запрос должен показывать сотрудников (строчки из таблицы Persons) у которых отсутствует автомобиль (нет записи с идентификатором сотрудника в таблице PersonCars), но, почему-то не выводит ни одной записи из таблицы сотрудников. То есть как будто нет сотрудников без автомобиля. Посмотри внимательно, сможешь увидеть ошибку? Расскажу где закралась ошибка в запросе в следующем сообщении.
Сегодня предлагаю попробовать найти в коде ошибку. Данный запрос должен показывать сотрудников (строчки из таблицы Persons) у которых отсутствует автомобиль (нет записи с идентификатором сотрудника в таблице PersonCars), но, почему-то не выводит ни одной записи из таблицы сотрудников. То есть как будто нет сотрудников без автомобиля. Посмотри внимательно, сможешь увидеть ошибку? Расскажу где закралась ошибка в запросе в следующем сообщении.
👍3