Пишем на SQL
1.93K subscribers
43 photos
7 videos
12 files
117 links
Уроки по SQL. Изучаем базы данных на примере СУБД ORACLE, MySQL, MS SQL Server, PostgreSql

Мой курс по SQL и базам данных:
https://prime-soft.biz/courses/sql

Связь со мной @iliahohlov
Download Telegram
Команда:

SELECT * FROM Persons WHERE UPPER(NAME) LIKE '%Петр%'

не выберет вообще никого. Так как до сравнения значения из столбца NAME будут преобразованы в верхний регистр (все буквы до сравнения с маской поиска станут большими, то есть ЗАГЛАВНЫМИ), а в самой маске поиска есть символы в нижнем регистре.

Повторю другими словами: ни для какой строки преобразованное к верхнему регистру значение столбца NAME уже не будет подобно маске поиска в которой есть символы в нижнем регистре.
И последняя команда:

SELECT * FROM Persons WHERE NAME = '%Петров%'

выберет только строки, у которых в столбце NAME значение ТОЧНО РАВНОЕ "%Петров%" (в ячейке вписано процент, Петров, процент).

В последней команде нет оператора LIKE 😱
Поиск будет осуществлён не по маске, а по конкретному значению в столбце.
Для сравнения используется символ равенства, а не LIKE.
В деловой и офисной среде обычный разговор или электронное сообщение стало принято заканчивать фразой-пожеланием "Хорошего дня!"․ С недавних пор такую универсальную, всегда подходящую фразу, я стал осторожнее и реже использовать в своём тексте․ Буквально обдумываю теперь каждый раз необходимость её написания․ Виной этому анекдот, который я прочёл в одной из книг Ицхака Пинтосевича:

В Израиле принято на день рождения желать имениннику дожить до ста лет․
И вот очередной день рождения старого еврея․ Гости его поздравляют․․․ 
— Соломон Маркович, здоровья Вам и долгих лет, чтобы Вы дожили до 100 лет! 
— Таки мне сегодня 100! 
— Ну, тогда хорошего Вам дня!

Вобщем, пишу теперь эту фразу только тогда, когда действительно делаю напутствие хорошего дня․

Хорошего дня, уважаемый читатель и отличной рабочей и/или учебной недели!
https://dzen.ru/media/iliahohlov/kak-podniat-sebe-nastroenie-prochitav-obychnoe-elektronnoe-pismo-631ee126f45a45024c0e87e3
😁7
Какая из этих команд, не является командой DML?
Anonymous Quiz
3%
UPDATE
2%
DELETE
69%
TRUNCATE
26%
SELECT
Большинство ответили правильно:
TRUNCATE не является командой DML.

Вот небольшое видео про категории (типы) команд языка SQL:

https://youtu.be/stObQ6ruG40

Если совсем коротко, то:

DML - команды манипуляции данными: чтение, добавление, редактирование и удаление;

DDL - определение данных. Команды для работы с объектами базы данных, с таблицами, например. Прежде, чем данные из какой-то таблицы выбирать или в какую-то таблицу класть, надо сначала создать саму таблицу. Для этого и нужны команды DDL. Создание таблицы, добавление в нее столбцов, удаление таблицы и т.д. Это все команды DDL.

Есть ещё команды работы назначения или снятия привилегий и команды управления транзакциями.
Несмотря на то, что команда TRUNCATE очищает данные из таблицы (удаляет строки), она не является DML. Так как она, чтобы очистить строки из таблицы, удаляет саму таблицу (её временно не будет в базе данных) и потом сразу же создаёт такую же пустую.
Кажется, что раз она очищает строки (то есть удаляет данные из таблицы), то эта команда должна быть командой DML, но она DDL, так как она добивается очистки таблицы путём уничтожения таблицы и созданием её заново! Конечно же она применяется не часто, но иногда бывает нужна.

Обо всем этом мы узнаем на нашем курсе на одном из последних уроков🙂👍
Напишите, пожалуйста, какие моменты тяжелее всего даются в понимании на курсе? Или, может быть, есть свои вопросы по SQL и базам данных, которые Вы бы хотели разобрать.
Напишите, пожалуйста, на почту info@prime-soft.biz.

Отвечу на все присланные вопросы в ближайшем прямом эфире!
Напишите, пожалуйста, также, когда бы Вам было удобнее, чтобы я его провел (день недели и время).
Я выберу время, за которое будет большинство голосов. Буду рад вашему посещению эфира!
Если не получится придти на эфир, то сможете посмотреть его в записи в удобное время😌
На текущий момент получил одно сообщение (уже спасибо🙂): удобнее всего провести прямой эфир в будни вечером или в выходные! Жду поддержку 🙂💪

Было бы здорово, если бы Вы написали, какие темы хотели больше проработать! Например: сложно даётся группировка или хотели бы чтобы я проговорил как работать с подзапросами!
👍2
Моя коллега Юлия помогла мне настроить канал так, чтобы можно было прямо под постами оставлять комментарии.
Буду рад обсудить с Вами темы прямого эфира прямо здесь!
Друзья, всем привет!
Поступил вопрос:
1
Можно ли использовать алиасы (псевдонимы) столбцов в секции HAVING?
Anonymous Quiz
40%
Можно
60%
Нельзя
Здравствуйте, друзья!

Спасибо Вам за активное участие!
Прямой эфир проведу в эту субботу (24.09.2022) в 12:00 (Мск).

Пока предварительно набросал темы:
Функция rtrim;
Соединения таблиц (джоины);
Подзапросы;
Группировка;
Создание и вызов процедур;
Транзакции и грязное чтение данных (в ORACLE, кстати, грязного чтения нет, но есть, например в MS SQL Server).

Скорее всего, всё не успеем рассмотреть. Некоторые темы большие и о них я бы хотел больше рассказать, но основы точно в прямом эфире дам.
Ссылку на подключение я пришлю завтра! Если кто-то не сможет в субботу в 12:00, то можно будет посмотреть эфир в записи. Ссылку выложу сюда же.
👍5
Всем привет!
Друзья, прямой эфир в эту субботу придётся отменить.
Прошу меня простить, но я запишу специальное видео в течение недели с ответом на Ваши вопросы или проведу эфир на следующей неделе.
Небольшой вопрос для всех кто уже хорошо разбирается в SQL🙂
Здравствуйте, друзья! Всем хорошего начала рабочей и учебной недели! Вчера вечером обнаружил отзыв на нашем Дзен-Канале одного из наших учеников. Всегда приятно такое получить! Спасибо!