Всем хорошего понедельника!
Предлагаю начать неделю с очередной задачки по SQL. Я нашёл её на просторах интернета.
Дана таблица CARS, где, среди прочих, есть столбец COLOR, имеющий значения:
blue
red
null
blue
Предлагаю начать неделю с очередной задачки по SQL. Я нашёл её на просторах интернета.
Дана таблица CARS, где, среди прочих, есть столбец COLOR, имеющий значения:
blue
red
null
blue
Каким будет результат следующего запроса:
SELECT COUNT (DISTINCT COLOR) FROM CARS
SELECT COUNT (DISTINCT COLOR) FROM CARS
Anonymous Quiz
13%
red blue null
47%
3
3%
2 1 1
37%
2
👍7💩1
Всем хорошего понедельника!
Помните, почему РЕЛЯЦИОННЫЕ базы данных называются так? 🙂
В таких базах между таблицами существуют связи-отношения (один-к-одному, один-ко-многим, многие-ко-многоим). "Отношение" с английского языка переводится как "relation". Поэтому такие базы данных и называются реляционными.
И ещё напомню как достигаются связи между таблицами?
Связи между таблицами создаются с помощью ключей: первичных (primary key) и внешних (foreign key)!
Помните, почему РЕЛЯЦИОННЫЕ базы данных называются так? 🙂
В таких базах между таблицами существуют связи-отношения (один-к-одному, один-ко-многим, многие-ко-многоим). "Отношение" с английского языка переводится как "relation". Поэтому такие базы данных и называются реляционными.
И ещё напомню как достигаются связи между таблицами?
Связи между таблицами создаются с помощью ключей: первичных (primary key) и внешних (foreign key)!
👍9🔥2
Пишем на SQL pinned «КАК ПРОХОДИТ ОБУЧЕНИЕ НА НАШЕМ КУРСЕ SQL Весь курс состоит из 27 записанных видео уроков. Каждый урок длится примерно 1 час времени. Всем ученикам на нашем сервере создаём индивидуальную базу данных с данными, необходимыми для выполнения практических задач…»
Здравствуйте, друзья!
Всем хорошего начала рабочей и учебной недели!
Нашёл ещё одну интересную задачу по SQL.
Всем хорошего начала рабочей и учебной недели!
Нашёл ещё одну интересную задачу по SQL.
Все ли строки из таблицы VOUCHERS будут отобраны следующим запросом?
SELECT * FROM VOUCHERS WHERE ID_CODE = 1
UNION SELECT * FROM VOUCHERS WHERE ID_CODE <> 1
SELECT * FROM VOUCHERS WHERE ID_CODE = 1
UNION SELECT * FROM VOUCHERS WHERE ID_CODE <> 1
Anonymous Quiz
48%
Да
52%
Нет
❤1👍1
Всем доброго понедельника!
Приходилось уже искать дубли в таблице?
Работая с некоторой таблицей, иногда может понадобиться найти строки, у которых будет одинаковое значение в каком-нибудь столбце (или комбинации столбцов). Например, нужно проверить, есть ли в таблице CLIENTS строки, у которых было бы одинаковое значение в столбце EXT_CODE (ext - сокращение от английского external, то есть "внешний").
Можно легко найти дубли среди клиентов по внешнему коду если мы по этому столбцу сгруппируем ("схлопнем") все строки таблицы и при этом воспользуемся HAVING-ом, чтобы после группировки ("схлопывания") отобразить в результате только записи, куда сгруппировалось ("схлопнулось") более одной строки.
Решение:
SELECT EXT_CODE,
COUNT(*)
FROM CLIENTS
GROUP BY EXT_CODE
HAVING COUNT(*) > 1
Как видишь, WHERE не используется, а значит будут сначала отобраны все строки из таблицы клиентов. Затем они будут сгруппированы по EXT_CODE и после группировки мы получим внешние коды клиентов, по которым есть более одного клиента на один внешний код.
Позже планирую усложнить пример и дополнить статью.
Спасибо за внимание и, ещё раз, хорошего дня!
Приходилось уже искать дубли в таблице?
Работая с некоторой таблицей, иногда может понадобиться найти строки, у которых будет одинаковое значение в каком-нибудь столбце (или комбинации столбцов). Например, нужно проверить, есть ли в таблице CLIENTS строки, у которых было бы одинаковое значение в столбце EXT_CODE (ext - сокращение от английского external, то есть "внешний").
Можно легко найти дубли среди клиентов по внешнему коду если мы по этому столбцу сгруппируем ("схлопнем") все строки таблицы и при этом воспользуемся HAVING-ом, чтобы после группировки ("схлопывания") отобразить в результате только записи, куда сгруппировалось ("схлопнулось") более одной строки.
Решение:
SELECT EXT_CODE,
COUNT(*)
FROM CLIENTS
GROUP BY EXT_CODE
HAVING COUNT(*) > 1
Как видишь, WHERE не используется, а значит будут сначала отобраны все строки из таблицы клиентов. Затем они будут сгруппированы по EXT_CODE и после группировки мы получим внешние коды клиентов, по которым есть более одного клиента на один внешний код.
Позже планирую усложнить пример и дополнить статью.
Спасибо за внимание и, ещё раз, хорошего дня!
👍17
Здравствуйте, друзья! Похоже, последняя тема вызвала много обсуждений! Спасибо Вам за активное участие! Очень рад! Сниму видео-продолжение :) И еще хочу поделиться новым отзывом от ученика, а точнее ученицы, которая прошла наш курс "SQL. Базы данных. ORACLE": "Спасибо вам за сопровождение и за очень интересный курс - емко и все по делу!" Будем рады опубликовать и Ваши отзывы здесь!
👍6❤3
Всем доброго дня!
Предлагаю начать эту неделю с очередного вопроса по базам данных:
Имеет ли значение порядок столбцов в составном индексе?
Предлагаю начать эту неделю с очередного вопроса по базам данных:
Имеет ли значение порядок столбцов в составном индексе?
Anonymous Quiz
72%
Да
28%
Нет
👍5
Дорогие наши девушки и женщины! Мамы и бабушки!
Поздравляем Вас с 8 марта! 💐
Желаем счастья, здоровья, внимания и заботы от дорогих людей!
Спасибо Вам за то, что Вы у нас есть! 🎉
Поздравляем Вас с 8 марта! 💐
Желаем счастья, здоровья, внимания и заботы от дорогих людей!
Спасибо Вам за то, что Вы у нас есть! 🎉
❤23
Всем доброго понедельника!
Если есть минутка, приглашаю решить хитрую SQL задачу:
В таблице TEMP_TABLE четыре строки. Столбец CODE_CHAR этих строк имеет значение 1 для первой строки, для второй 2, для третьей 3 и для последней 4.
Если есть минутка, приглашаю решить хитрую SQL задачу:
В таблице TEMP_TABLE четыре строки. Столбец CODE_CHAR этих строк имеет значение 1 для первой строки, для второй 2, для третьей 3 и для последней 4.