Артём Санников
Артём Санников
  • 247
  • 220 243
Решение 3 задания на сайте sql-ex.ru. Блок SELECT.
СУБД: PostgreSQL
Описание: Найдите номер модели, объем памяти и размеры экранов ПК-блокнотов, цена которых превышает 1000 дол.
Переглядів: 79

Відео

Решение 2 задания на сайте sql-ex.ru. Блок SELECT.
Переглядів 6116 годин тому
СУБД: PostgreSQL Описание: Найдите производителей принтеров. Вывести: maker
Решение 1 задания на сайте sql-ex.ru. Блок SELECT.
Переглядів 4216 годин тому
СУБД: PostgreSQL Задание : Найдите номер модели, скорость и размер жесткого диска для всех ПК стоимостью менее 500 дол. Вывести: model, speed и hd
Текстовая функция ТЕКСТ() в Microsoft Excel
Переглядів 218 місяців тому
Функция ТЕКСТ() преобразует значение в текст в определенном формате.
Текстовая функция Т() в Microsoft Excel
Переглядів 168 місяців тому
Функция Т() проверяет, является ли значение текстовым. Если значение текстовое, то возвращается его текст, если нет, то возвращается пустое значение (две кавычки).
Текстовая функция РУБЛЬ() в Microsoft Excel
Переглядів 938 місяців тому
Функция РУБЛЬ() преобразует число в текст, используя денежный формат.
Строковая функция RPAD() в Oracle
Переглядів 188 місяців тому
Строковая функция RPAD() в Oracle позволяет дополнить строку произвольными символами с правой стороны.
Строковая функция LPAD() в Oracle
Переглядів 218 місяців тому
Строковая функция LPAD() в Oracle позволяет дополнить строку произвольными символами с левой стороны.
Строковая функция REPLACE() в Oracle
Переглядів 118 місяців тому
Строковая функция REPLACE() в Oracle выполняет замену символов в строке.
Строковая функция SUBSTR() в Oracle
Переглядів 148 місяців тому
Строковая функция SUBSTR() в Oracle извлекает подстроку из указанной строки.
Строковая функция RTRIM() в Oracle
Переглядів 158 місяців тому
Строковая функция RTRIM() в Oracle выполняет удаление символов с правого края строки.
Строковая функция LTRIM() в Oracle
Переглядів 308 місяців тому
Строковая функция LTRIM() в Oracle выполняет удаление символов с левого края строки.
Строковая функция TRIM() в Oracle
Переглядів 208 місяців тому
Строковая функция TRIM() в Oracle выполняет удаление указанных символов в двух сторон строки.
Строковая функция UPPER() в Oracle
Переглядів 128 місяців тому
Строковая функция UPPER() в Oracle возводит все символы в верхний регистр.
Строковая функция LOWER() в Oracle
Переглядів 288 місяців тому
Строковая функция LOWER() в Oracle приводит все символы в нижний регистр.
Строковая функция INITCAP() в Oracle
Переглядів 338 місяців тому
Строковая функция INITCAP() в Oracle
Строковая функция LENGTH() в Oracle
Переглядів 218 місяців тому
Строковая функция LENGTH() в Oracle
Строковая функция CONCAT() и оператор конкатенации || в Oracle
Переглядів 578 місяців тому
Строковая функция CONCAT() и оператор конкатенации || в Oracle
Строковая функция INSTR() в Oracle
Переглядів 228 місяців тому
Строковая функция INSTR() в Oracle
Строковая функция CHR() в Oracle
Переглядів 358 місяців тому
Строковая функция CHR() в Oracle
Строковая функция ASCIISTR() в Oracle
Переглядів 188 місяців тому
Строковая функция ASCIISTR() в Oracle
Строковая функция ASCII() в Oracle
Переглядів 258 місяців тому
Строковая функция ASCII() в Oracle
Как установить Microsoft Power BI Desktop в Windows
Переглядів 2058 місяців тому
Как установить Microsoft Power BI Desktop в Windows
Решение SQL задания "Average Population of Each Continent" на HackerRank.com
Переглядів 228 місяців тому
Решение SQL задания "Average Population of Each Continent" на HackerRank.com
Решение SQL задания "African Cities" на HackerRank.com
Переглядів 298 місяців тому
Решение SQL задания "African Cities" на HackerRank.com
Решение SQL задания "Population Census" на HackerRank.com
Переглядів 198 місяців тому
Решение SQL задания "Population Census" на HackerRank.com
Решение SQL задания "Population Density Difference" на HackerRank.com
Переглядів 778 місяців тому
Решение SQL задания "Population Density Difference" на HackerRank.com
Решение SQL задания "Japan Population" на HackerRank.com
Переглядів 1348 місяців тому
Решение SQL задания "Japan Population" на HackerRank.com
Решение SQL задания "Revising the Select Query II" на HackerRank.com
Переглядів 438 місяців тому
Решение SQL задания "Revising the Select Query II" на HackerRank.com
Решение SQL задания "Weather Observation Station 6" на HackerRank.com
Переглядів 228 місяців тому
Решение SQL задания "Weather Observation Station 6" на HackerRank.com

КОМЕНТАРІ

  • @user-ii1el1xd4j
    @user-ii1el1xd4j 15 днів тому

    О_О страшно благодарчка за эти видео

  • @nikitanikitin5934
    @nikitanikitin5934 16 днів тому

    Подскажите, пожалуйста, будет ли верным использование запроса SELECT COUNT(plane) AS 'Количество' FROM Trip WHERE plane = 'TU-134' GROUP by Количество;

  • @user-tg9wn7er1y
    @user-tg9wn7er1y 23 дні тому

    WITH AAAA AS( SELECT company, COUNT(company) 'aaa' FROM Trip GROUP BY company ORDER BY aaa ASC LIMIT 3 ) DELETE Company FROM Company WHERE id IN ( SELECT company FROM AAAA )

  • @f1n1st13
    @f1n1st13 25 днів тому

    INSERT INTO Goods ( SELECT COUNT(*) + 1, 'Cheese', ( SELECT good_type_id FROM GoodTypes WHERE good_type_name = 'food' limit 1 ) FROM Goods ) Решение в премиуме, вообще не понимаю как работает, куда делись values? и почему нет имен колонок? Может кто то объяснить?

  • @user-vb2us7me6k
    @user-vb2us7me6k Місяць тому

    Так сохранится только 1окно или все?

    • @user-vb2us7me6k
      @user-vb2us7me6k Місяць тому

      Одно окно😢

    • @Sannikov.a.a
      @Sannikov.a.a Місяць тому

      Будет сохранён проект , который открыт в текущем окне

  • @kadetchualihanov
    @kadetchualihanov Місяць тому

    Артём, добрый день! Тоже интересует этот вопрос, почему задача решается только с помощью алиаса? В чем проблема?

    • @Sannikov.a.a
      @Sannikov.a.a Місяць тому

      При попытке выполнить запрос без псевдонима, СУБД пытается интерпретировать goods в подзапросе как таблицу в текущем контексте, то есть как целевую таблицу вставки. Псевдоним “as t” решает эту проблему, потому что он создает временное наименование для таблицы goods в контексте подзапроса. И теперь СУБД понимает, что t - это не таблица в текущем контексте, а временное имя для таблицы goods в подзапросе.

  • @lenabarlow
    @lenabarlow Місяць тому

    Странно, у меня в условиях ещё сказано использовать NOW()

  • @musslim_808
    @musslim_808 Місяць тому

    половина видео интро класс

  • @Shogun_Sun
    @Shogun_Sun Місяць тому

    Спасибо!

  • @poidem_domoi
    @poidem_domoi Місяць тому

    что делать если не сохранял бекап?

    • @Sannikov.a.a
      @Sannikov.a.a Місяць тому

      С такой ситуацией не сталкивался, поэтому подсказать не могу

  • @boristaranda
    @boristaranda Місяць тому

    select FLOOR(avg(FLOOR(DATEDIFF(NOW(), birthday) / 365))) as age from FamilyMembers Не благодарите, нашел на GITHUB

  • @mishaprokopovich5253
    @mishaprokopovich5253 Місяць тому

    Без join-ов можно так: SELECT name FROM Passenger p WHERE p.id IN ( SELECT pit.passenger FROM Pass_in_trip pit WHERE pit.trip IN ( SELECT t.id FROM Trip t WHERE t.plane = 'TU-134' AND t.town_to = 'Moscow' ) ) GROUP BY name; но вряд ли это производительней join-ов

  • @user-kk7xt3uo7x
    @user-kk7xt3uo7x Місяць тому

    Мое решение такое (возможно отсутствует красота синтаксиса, но я только учусь): SELECT we.teacher FROM ( SELECT sc.teacher AS teacher, c.name FROM Schedule AS sc INNER JOIN Class AS c ON (sc.class = c.id) AND (c.name LIKE '11%') GROUP BY sc.teacher, sc.class ) AS we GROUP BY we.teacher HAVING COUNT(we.teacher) = (SELECT COUNT(*) FROM Class WHERE name LIKE '11%') ORDER BY we.teacher

  • @awesomegirl8410
    @awesomegirl8410 Місяць тому

    Артем, но задание 35 немного другое. Нужно посчитать РАЗЛИЧНЫЕ кабинеты. Если бы кабинет в этот день использовался несколько раз, то результат был бы другим.

  • @BonShot-jv6zm
    @BonShot-jv6zm Місяць тому

    Артём, здравствуйте! Голову сломал уже, объясните , пожалуйста! Почему если не задать алиас таблице "Goods t" , то задача не решается. Я не понимаю( В других решениях аналогичная ситуация

    • @Sannikov.a.a
      @Sannikov.a.a Місяць тому

      При попытке выполнить запрос без псевдонима, СУБД пытается интерпретировать goods в подзапросе как таблицу в текущем контексте, то есть как целевую таблицу вставки. Псевдоним “as t” решает эту проблему, потому что он создает временное наименование для таблицы goods в контексте подзапроса. И теперь СУБД понимает, что t - это не таблица в текущем контексте, а временное имя для таблицы goods в подзапросе.

  • @mishaprokopovich5253
    @mishaprokopovich5253 Місяць тому

    я такое выдал SELECT good_name from Goods g LEFT JOIN (SELECT DISTINCT good FROM Payments WHERE YEAR(date)='2005' ) subquery ON g.good_id=subquery.good WHERE subquery.good is null

  • @khikikomori
    @khikikomori Місяць тому

    Спасибо за твой труд! Вопрос: почему идентификатор комнаты находишь так сложно? Если id есть в Reservation - значит комнату хотя бы 1 раз резервировали. SELECT DISTINCT room_id FROM Reservation разве не достаточно? :)

  • @user-swqaj3427
    @user-swqaj3427 2 місяці тому

    можно обойтись одним джоином между Reviews и Reservations, потому что в таблице Reservations и так только те комнаты, которые хоть раз арендовали

  • @ertastoleuov4262
    @ertastoleuov4262 2 місяці тому

    а почему в команде селект указывается звездочка?

    • @Sannikov.a.a
      @Sannikov.a.a 2 місяці тому

      Чтобы вывести все столбцы из таблицы, так как это нужно по условию задачи

  • @user-rx7jo1we2p
    @user-rx7jo1we2p 2 місяці тому

    Не.работант

  • @user-rx7jo1we2p
    @user-rx7jo1we2p 2 місяці тому

    Не работает

  • @user-rx7jo1we2p
    @user-rx7jo1we2p 2 місяці тому

    Такая имба с этих видео научился sql и теперь работаю за границей

  • @akiiiro
    @akiiiro 2 місяці тому

    Спасибо огромное

  • @desans3455
    @desans3455 2 місяці тому

    Бляя чел. Ну 19 секунд пустой инфы)

    • @Sannikov.a.a
      @Sannikov.a.a 2 місяці тому

      Читай доку, там будет быстрее)

  • @Jet-fm4om
    @Jet-fm4om 2 місяці тому

    это если может быть несколько деликатесов с максимальной ценой. если мы уверен, что такой всего 1, то можно и как автор видео. SELECT g.good_name, p.unit_price FROM Payments p JOIN Goods g ON p.good = g.good_id JOIN GoodTypes gt ON gt.good_type_id = g.type WHERE p.unit_price = ( SELECT MAX(unit_price) FROM Payments p JOIN Goods g ON p.good = g.good_id JOIN GoodTypes gt ON gt.good_type_id = g.type WHERE gt.good_type_name = 'delicacies' );

  • @user-rc9ht6hr8d
    @user-rc9ht6hr8d 2 місяці тому

    Спасибо!

  • @uikuw
    @uikuw 2 місяці тому

    что делать, если когда я нажимаю анпротект, после всех верно введённых данных, ничего не происходит?.. просто не срабатывает кнопка, перепробовала несколько раз

  • @user-sr5oe8mh6e
    @user-sr5oe8mh6e 3 місяці тому

    без SUM в 3-й строке работать не будет

  • @user-qk2wl4yf5y
    @user-qk2wl4yf5y 3 місяці тому

    Объясните, пожалуйста, зачем нужно было соединять с таблицей Trip?

  • @vazdrich
    @vazdrich 3 місяці тому

    Почему не срабатывает добавление WHERE, где через селект ищем MAX(Pay.unit_price)?

  • @aleksaleks583
    @aleksaleks583 3 місяці тому

    Забавно , но если посмотреть то товар "red caviar" продавался в 2006 году и у него есть ID платежки. Получается в описании задания неточность

  • @Foxxx_1331
    @Foxxx_1331 3 місяці тому

    я так понимаю, при окне readonly нигде инфы нет. короче. после 30минутного дебилизма с прогой, вот как решить. закройте браузер. закройте это окно readonly... и ткните на unprotect. Заработает. из-за того, что браузер в фоне либо открыт unprotect не сработает

  • @blar_n_one8685
    @blar_n_one8685 3 місяці тому

    SELECT good_name FROM Goods LEFT JOIN Payments ON Goods.good_id=Payments.good GROUP BY good_name HAVING SUM(YEAR(date)= '2005') IS NULL OR SUM (YEAR(date) = '2005')= 0

  • @alweon8862
    @alweon8862 3 місяці тому

    У меня получилось не так изящно, но все же: Select member_name, SUM(Payments.amount*Payments.unit_price) as costs FROM FamilyMembers JOIN Payments on Payments.family_member = FamilyMembers.member_id WHERE YEAR(Payments.date) = '2005' AND Month(Payments.date) = '6' GROUP BY member_name

  • @ThisRussia
    @ThisRussia 3 місяці тому

    SELECT FLOOR(AVG(YEAR(NOW())-YEAR(birthday)))-1 as age FROM FamilyMembers с каждым годом увеличиваем на 1 :)

  • @user-br5yr5hh2q
    @user-br5yr5hh2q 4 місяці тому

    Power BI на виндовс 7 уже не устанавливается ?

    • @Sannikov.a.a
      @Sannikov.a.a 4 місяці тому

      Думаю нет, надо смотреть по версии ПО

  • @sergey007lozhkin
    @sergey007lozhkin 4 місяці тому

    а разве не нужно учесть условие (Having 3>0)? Ведь тут таких людей нет, которые ничего не потратили, а на практике это условие обязательно

  • @xDizeler
    @xDizeler 4 місяці тому

    Добрый день, почему нельзя было сделать так : where p2.name = 'Steve Martin' t.town_to = 'London' , а писать в And ? получается where не поддерживает больше 1 условия?

  • @user-gj6or8pz8p
    @user-gj6or8pz8p 4 місяці тому

    задача изменилась: теперь нельзя использовать функцию week, а по тексту появилось описание что такое неделя. предполагаю, что нужно использовать date_format, но что-то я не разобралась с вариациями формата, выдаёт ошибку

    • @Cesar1k
      @Cesar1k 3 місяці тому

      работает функция week, причем принимает ответ без указания года.

  • @user-nd9do2nk2j
    @user-nd9do2nk2j 4 місяці тому

    c if решение такое: select name, if(id in(select owner_id from rooms), 1, 0) is_owner, if(id in(select user_id from reservations), 1, 0) is_tenant from users

  • @Sanya_Uvelir
    @Sanya_Uvelir 4 місяці тому

    SELECT member_name, status , sum(amount*unit_price) as costs from Payments p JOIN FamilyMembers f ON p.family_member=f.member_id where YEAR(date)=2005 GROUP by p.family_member не знаю почему но тоже прошло правильно

  • @user-nd9do2nk2j
    @user-nd9do2nk2j 4 місяці тому

    Спасибо за материал! Очень помогло. Находил ответы так же в текстовом варианте, но с видео удобнее проверять себя.

  • @user-nd9do2nk2j
    @user-nd9do2nk2j 4 місяці тому

    либо вот так вот: select if(price <= 100, 'economy', if(price < 200, 'comfort', 'premium')) category, count(*) count from rooms group by category

  • @user-nd9do2nk2j
    @user-nd9do2nk2j 4 місяці тому

    еще можно с помощью разделителя решить. вот так: select substring_index(email, '@', -1) as domain , count(*) as count from users group by domain order by count desc, domain

  • @user-nd9do2nk2j
    @user-nd9do2nk2j 4 місяці тому

    спасибо!

  • @ksu_valery
    @ksu_valery 4 місяці тому

    Это некорректный запрос, т.к. не учитываете месяц рождения ... у вас получится, что человеку, рожденному 31.12.2000, 1 января 2024 уже исполнилось 24 года, хотя до ДР жить ещё целый год ))) ... у меня 47 получается, а нужно подогнать под тренажер )) измучилась, вот сюда привели поиски решения ))

  • @user-ug2sj4bg2o
    @user-ug2sj4bg2o 4 місяці тому

    А почему тут не работает такой запрос? select name from Company where id in ( SELECT id from Trip where plane="Boeing" );

  • @ccrazzy9761
    @ccrazzy9761 4 місяці тому

    здесь скорее вопрос не правильный там написан ПАСАЖИРОВ не понятный вообще на колонке два имени с одинаковой длиной а здесь он выводит одного значит это противоречит запросу так как нужно было выводит ПАСАЖИРОВ а не ПАСАЖИРА

  • @user-iz1kn7wq7f
    @user-iz1kn7wq7f 4 місяці тому

    Я думал что код необходимо делать читабельным... Тогда для чего задавать псевдонимы??? Особенно если тебя смотрят новички... Из-за этих псевдонимов нужно все перечитывать несколько раз чтобы разобраться что за псевдоним тот или иной...

  • @lightman4369
    @lightman4369 4 місяці тому

    Вопрос почему так не правильно? SELECT G.good_name FROM Goods G JOIN Payments P ON (P.good = G.good_id) WHERE P.amount > 1 Group by G.good_name --HAVING Count(G.good_name) > 1 Что находится таким запросом?

    • @vadimershov2816
      @vadimershov2816 3 місяці тому

      amount показывает сколько купили единиц, но за один раз по логике таблицы. можно уточнить требования к поиску, но скорее нам это не нужно