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

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

Связь со мной @iliahohlov
Download Telegram
Всем доброго понедельника и отличного начала рабочей (учебной) недели!

Кто знает что такое DQL? 😉
Все команды языка SQL разделяют на группы (категории)! То есть КАЖДАЯ команда относится к какой либо группе.
Зачем вообще разделять команды на группы? Во-первых потому, что одни команды работают непосредственно с данными, а с помощью других можно создавать объекты баз данных и управлять ими (например, можно создать таблицу: ведь прежде, чем данные куда-то класть или откуда-то выбирать, сначала необходимо создать саму таблицу).
Во-вторых, команды, относящиеся к разным группам (категориям), по разному влияют на транзакции. Вот основные группы (категории) команд:

DML (Data Manipulation Language) - команды манипуляции данными. Сюда относится команды SELECT (чтение данных из таблиц), INSERT (вставка новых строк в таблицу), UPDATE (редактирование данных), DELETE (удаление строк из таблицы) и еще MERGE (это одна команда, позволяющая добавлять данные в таблицу, а, при их наличии, обновлять их, то есть, по сути, команда делает INSERT или UPDATE).

DDL - команды определения данных, как раз с помощью них и создаются и управляются объекты базы данных.

DCL - команды управления доступом к данным.

TCL - команды управления транзакциями.

Подробнее обо всех командах я писал здесь: https://dzen.ru/a/YXMDQ6U6qwbtfLFI

И вот настал главный вопрос: что же такое DQL? DQL (Data Query Language) - это ещё одна группа (категория) команд языка SQL, а аббревиатура переводится дословно как "язык выборки данных". Точнее это, конечно, не язык, а команда выборки данных. Ведь эта группа (категория) включает в себя только одну команду - SELECT. Верно, эта команда есть и в группе DML, ведь чтение данных тоже можно назвать их манипуляцией. Интересно получается: некоторые специалисты решили команду SELECT отнести в свою собственную группу (категорию). Так что в одних справочника Вы встретите, что всего групп языка SQL четыре (DML, DDL, TCL и DCL), а в других источниках их пять - плюсом к ним ещё и группа DQL (куда перенесли команду SELECT и она единственная в этой группе). Может в этом и есть смысл, так как остальные оставшиеся в группе DML команды при их использовании открывают транзакцию, а SELECT - нет, за некоторыми исключениями, например, выборки информации в некоторой базе данных из другой базы данных, но это уже другая тема 🙂
👍14🔥1
Всем хорошей среды!
Очень интересно кто сейчас на какой СУБД преимущественно (или полностью) работает! Буду рад Вашему ответу!
Anonymous Poll
58%
ORACLE
11%
MS SQL Server
7%
MySQL
21%
PostgreSQL
0%
Firebird
0%
DB2
1%
MS Access
2%
Другая (напишите в комментарии какая)
2
Друзья, всем привет! Вчера обнаружил приятный отзыв на свою книгу в litres-е. Большое Вам спасибо, что находите время на обратную связь и на поддержку!
Прошу ещё, если обнаружили опечатку, напишите, пожалуйста, мне на почту info@prime-soft.biz. И еще буду рад узнать о каком примере с неправильным решением идёт речь. Напишите, пожалуйста!
👍10
Предлагаю небольшую задачку на логику и внимательность.
В доме три этажа. На первом этаже живёт один человек, на втором - два, на третьем - три. Какую кнопку лифта нажимают чаще всего?
Anonymous Quiz
89%
Кнопку первого этажа
1%
Кнопку второго этажа
10%
Кнопку третьего этажа
👍61
Здравствуйте, друзья!
Приглашаем обучиться на наших курсах "SQL. Базы данных. ORACLE. MS SQL Server, MySQL" и "Программирование в PL/SQL (ORACLE)" со скидкой 40%! Выбрать курс и записаться можно на нашем сайте: https://prime-soft.biz/courses
Будем Вас ждать!
👍6
Здравствуйте, дорогие друзья!
Предлагаю очередной небольшой тест по SQL на этот раз на знание синтаксиса команды INSERT в ORACLE и ее вариантов написания.
Выполнение какой из этих команд в ORACLE приведёт к ошибке?
Anonymous Quiz
15%
INSERT INTO MANAGERS (NAME, ID_FILIAL) VALUES ('Иванов Иван Иванович', 1)
25%
INSERT INTO MANAGERS (NAME, ID_FILIAL) SELECT 'Иванов Иван Иванович', 1 FROM DUAL
60%
INSERT INTO MANAGERS (NAME, ID_FILIAL) VALUES SELECT 'Иванов Иван Иванович', 1
👍5
Здравствуйте, дорогие друзья! Очередной небольшой тест для подкованных :) Вопрос с англоязычного ресурса из цикла "найди лишнее":
Anonymous Quiz
13%
UNION
15%
INTERSECT
32%
MINUS
41%
EXTRACT
🤔9👍2
Всем доброго утра и отличного начала рабочей (учебной) недели!

Если у Вас сегодня собеседование, то помогу перед ним немного размяться 😉 В отличии от первичного ключа таблицы, уникальный ключ (найдите верное утверждение):
Anonymous Quiz
25%
может содержать пустые значения (NULL).
35%
может быть только один в таблице.
40%
не может содержать пустые значения (NULL).
👍10😐4
Здравствуйте, дорогие друзья!

Предлагаю начать неделю с небольшого теста по SQL. В одно время этот вопрос использовался в одной из Московских софтверных компаний, где я работал. Вопрос, думаю, будет для Вас совсем простым и, скорее всего, именно он станет лидером по количеству правильных ответов!
👍41
Каким будет результат следующей арифметической операции:
1 + NULL + 1
Anonymous Quiz
2%
0
2%
1
23%
2
1%
3
72%
NULL
👍6😁1
Всем доброе утро! И отличной рабочей (учебной) недели! И вот мини-вопрос на этот понедельник: Может ли в таблице не быть первичного ключа?
Anonymous Quiz
77%
Да, первичного ключа на таблице может не быть.
23%
Нет. Первичный ключ в таблице должен быть обязательно. Таблицу без первичного ключа не создать.
🙈2
Всем хорошего понедельника!
Давайте немного повторим типы данных столбцов таблиц.
В чем разница между CHAR и VARCHAR. Оба типа предназначены для хранения алфавитно-цифровой информации. Основное отличие состоит в том, что тип данных CHAR имеет фиксированную длину для хранящихся в нём значений, в то время как VARCHAR поддерживает переменную длину. Если значение, сохраняемое в CHAR, имеет меньшую длину, то к нему справа будут добавлены пробелы. К значению, сохраняемому в тип VARCHAR, если оно меньше максимально установленного, пробелы справа добавлены не будут.
👍24
КАК НАЙТИ В СЕБЕ СИЛЫ И УВЕРЕННО ОВЛАДЕТЬ SQL

"У каждого взрослого человека всегда много дел" Дмитрий Петров, лингвист, полиглот

Aller Anfang ist schwer (любое начинание сложно), немецкая поговорка

Всегда трудно начинать что-то новое. Переживания из-за невладения навыком работы с базами данных и незнания языка SQL могут усугубляться страхом его изучения. Как это всё выучить? И не просто выучить, а ещё и начать хорошо разбираться в этом? А вдруг я не смогу найти работу, ведь везде требуются сотрудники уже с опытом работы? Эти и другие страхи возникают постоянно. Но бояться не надо! Язык SQL не сложный!
- "Конечно, тебе легко говорить". - Скажешь ты. - "Ведь ты его знаешь".
- "Да, знаю. И так же как и ты, когда то впервые его увидел". А ещё я практически сразу понял насколько он прост и лёгок в понимании! Итак, языку SQL и существенным навыкам работы с базами данных можно обучиться за довольно короткое время! А качественное обучение (или самообучение) с обязательной практикой может дать хороший результат! А чтобы начать совсем хорошо в нём разбираться, нужно прорешать множество типичных и каверзных задач. Здесь, конечно, нужен или опыт или нужны хорошие курсы. В своём курсе по SQL и базам данных на простых примерах я проведу тебя через многие практические сложности! Мы научимся решать любые задачи на языке SQL. Научимся видеть потенциальные ошибки в существующем коде и оптимизировать его. Можно реально примерно за месяц (если учиться не торопясь, уделяя час в день) "прокачать" знания языка SQL и навыки работы с базами данных с нуля до уровня специалиста с трёхлетним стажем! Вот так!
Я совсем не уговариваю тебя придти ко мне на курс, но был бы тебе очень рад! Мне уже повезло, что ты читаешь этот пост и я могу ещё кое что тебе рассказать!

Итак, язык SQL очень прост. Ты можешь ему научиться. Это аксиома (не требует доказательств).

- Я знаю. Ты можешь! Ицхак Пинтосевич. Автор множества книг по развитию личности.

Итак, SQL тебе под силу! Теперь осталось разобраться как найти на него время и силы. У тебя, возможно, есть семья, дети. Есть работа, которая отнимает основное продуктивное время, есть друзья, которым хоть пол часа в день времени, но уделить нужно (вотсап, вконтакте, одноклассники,..). Вобщем - день занят. И так каждый день! А в выходные надо отдохнуть, ведь всю неделю ты работал как мог!
- "У меня есть максимум час в неделю!" - скажешь ты.
- "Отлично! С этого и давай начинать!" Час в неделю это лучше, чем ничего.

"Большого слона можно съесть по кусочкам", народная мудрость

Итак, если у нас есть час в день, то считай, что SQL мы выучим! Да, да! Тратя по-немногу времени на нужный навык, ты, в конце концов, его освоишь! И даже это не растянется на очень долго! Изучай и практикуй! Начни хоть с часу в неделю, ты заметишь, что ты начнёшь в этом разбираться, а через некоторое время тебе это понравится и ты сможешь находить на это больше времени! Незаметно для себя ты овладеешь SQL и обучишься навыкам работы с базами данных!

Буду рад, если поделишься своей историей как ты смог найти время и силы на язык SQL!
🔥16
Пишем на SQL
https://dzen.ru/a/ZMLsoH2mSzdWWsqh?share_to=link
Доброй пятницы!
Спасибо всем, кто принял участие в разгадывании филворда по SQL.
Я дополнил свой пост, опубликовал решение.
👍1