SQL, базы данных. Часть 15.
Давайте создадим новую таблицу products и переключим наше внимание на нее.
В ней есть поля id, name, count (количество), price (цена) и поле country, которое содержит данные о стране производителе (Картинка 1).
Давайте выберем товары, произведенные в России, Белоруссии и Украине. Напишем SQL-запрос:
SELECT * FROM products
WHERE country = "RU" OR country = "UA" OR country = "BL";
После выполнения запроса мы получим следующую таблицу (Картинка 2).
Разберем запрос: в блоке WHERE мы используем три условия, разделенные OR (или). Во всех трех условиях мы с помощью символа равенства сравниваем значение в столбце country с одной из стран: ИЛИ Россия, ИЛИ Украина, ИЛИ Белоруссия.
Если мы хотим получить товары еще каких-то стран, то нужно добавить еще условия OR. Это не очень удобно, так как запрос становится громоздиким.
Но его можно упростить. Кроме стандартных условий сравнения AND и OR в языке SQL есть условие принадлежности IN, которое в данном случае подходит лучше. Напишем после WHERE:
SELECT * FROM products
WHERE country IN ("RU", "UA", "BL");
Конструкция получилась короче и понятнее. И с помощью неё мы выбираем данные, в которых страна равна любом из значений перечисленных в скобках. После запуска запроса мы получим результат, аналогичный предыдущему.
👉 JavaStart. Подписаться
Давайте создадим новую таблицу products и переключим наше внимание на нее.
В ней есть поля id, name, count (количество), price (цена) и поле country, которое содержит данные о стране производителе (Картинка 1).
Давайте выберем товары, произведенные в России, Белоруссии и Украине. Напишем SQL-запрос:
SELECT * FROM products
WHERE country = "RU" OR country = "UA" OR country = "BL";
После выполнения запроса мы получим следующую таблицу (Картинка 2).
Разберем запрос: в блоке WHERE мы используем три условия, разделенные OR (или). Во всех трех условиях мы с помощью символа равенства сравниваем значение в столбце country с одной из стран: ИЛИ Россия, ИЛИ Украина, ИЛИ Белоруссия.
Если мы хотим получить товары еще каких-то стран, то нужно добавить еще условия OR. Это не очень удобно, так как запрос становится громоздиким.
Но его можно упростить. Кроме стандартных условий сравнения AND и OR в языке SQL есть условие принадлежности IN, которое в данном случае подходит лучше. Напишем после WHERE:
SELECT * FROM products
WHERE country IN ("RU", "UA", "BL");
Конструкция получилась короче и понятнее. И с помощью неё мы выбираем данные, в которых страна равна любом из значений перечисленных в скобках. После запуска запроса мы получим результат, аналогичный предыдущему.
👉 JavaStart. Подписаться
👍10🔥3✍2❤2⚡1
Какие модификаторы доступа есть в Java?
Anonymous Quiz
25%
public, private, static, final
4%
final, abstract, static, protected
68%
default, private, public, protected
1%
static, abstract, default, synchronized
2%
Посмотреть ответ
🎉8👍3❤2⚡1
SQL, базы данных. Часть 16.
Давайте добавим к нашему запросу по таблице products (Картинка 1) еще одно условие. Например, нам нужны не просто товары, а товары стоимостью до 10 000 рублей.
Был запрос:
SELECT * FROM products
WHERE country IN ("RU", "UA", "BL");
Стал запрос:
SELECT * FROM products
WHERE country IN ("RU", "UK", "BL") AND price < 10000;
Посмотрим на результат на Картинке 2.
Получили новую таблицу с тремя записями, которые удовлетовряют новому условию. И в этом условии мы совместили AND и IN. То есть в SQL-запросах можно совмещать логические операции AND и OR с оператором IN. Что делает их очень гибкими.
Теперь давайте попробуем выбрать товары, стоимостью от 10000 до 20000.
Условие с country уберем и напишем:
SELECT * FROM products
WHERE price >= 10000 AND price <= 20000;
В результате получается такая таблица как на Картинке 3.
Рассмотрим запрос. Как видите в этой конструкции мы снова написали двойное условие по одному полю — price. И с одной стороны всё логично и понятно, а с другой стороны эту конструкцию также можно упростить.
Напишем:
SELECT * FROM products
WHERE price BETWEEN 10000 AND 20000;
Теперь запрос звучит так: ВЫБРАТЬ все столбцы из таблицы products, в которых цена между 10000 и 20000. Звучит более чем понятно.
После запуска мы получим всё тот же один товар.
Вообще AND, OR, IN и BETWEEN — это основные конструкции для построения условий в SQL запросах и используются они в блоке WHERE. Вы можете применять их как поодиночке, так комбинируя в самых различных вариантах.
👉 JavaStart. Подписаться
Давайте добавим к нашему запросу по таблице products (Картинка 1) еще одно условие. Например, нам нужны не просто товары, а товары стоимостью до 10 000 рублей.
Был запрос:
SELECT * FROM products
WHERE country IN ("RU", "UA", "BL");
Стал запрос:
SELECT * FROM products
WHERE country IN ("RU", "UK", "BL") AND price < 10000;
Посмотрим на результат на Картинке 2.
Получили новую таблицу с тремя записями, которые удовлетовряют новому условию. И в этом условии мы совместили AND и IN. То есть в SQL-запросах можно совмещать логические операции AND и OR с оператором IN. Что делает их очень гибкими.
Теперь давайте попробуем выбрать товары, стоимостью от 10000 до 20000.
Условие с country уберем и напишем:
SELECT * FROM products
WHERE price >= 10000 AND price <= 20000;
В результате получается такая таблица как на Картинке 3.
Рассмотрим запрос. Как видите в этой конструкции мы снова написали двойное условие по одному полю — price. И с одной стороны всё логично и понятно, а с другой стороны эту конструкцию также можно упростить.
Напишем:
SELECT * FROM products
WHERE price BETWEEN 10000 AND 20000;
Теперь запрос звучит так: ВЫБРАТЬ все столбцы из таблицы products, в которых цена между 10000 и 20000. Звучит более чем понятно.
После запуска мы получим всё тот же один товар.
Вообще AND, OR, IN и BETWEEN — это основные конструкции для построения условий в SQL запросах и используются они в блоке WHERE. Вы можете применять их как поодиночке, так комбинируя в самых различных вариантах.
👉 JavaStart. Подписаться
👍10⚡3🔥2✍1❤1🤓1
Всем привет!
Давайте немного пообщаемся. Я вам расскажу свой опыт по устройству на первую работу, а вы расскажете о своей текущей проблеме в изучении Java или в поиске первой работы, и мы попробуем разобраться в вашей проблеме.
Изначально я планировал работать андроид разработчиком и даже получил сертификат от Google. Суммарно у меня было 11 приглашений на собеседования. Начитавшись статей о программистах я четко знал, какая зарплата мне нужна 😄
Первые собеседования в компании по android разработке шли очень плохо. Я уже на собеседовании понимал, что не будет продолжения. Сами компании находились в странных местах, то это квартира в старом доме, то это необитаемая промзона.
Из 11 собеседований только одно было на backend разработку и только потому, что я был уже в отчаянии, просто не понимал как устроиться android разработчиком.
Эти собеседования продолжались более пяти месяцев и казалось, что устроится на работу почти нереально. Но тут подошло собеседование в моей первой компании на backend разработчика - это T-Systems. В итоге я прошел собеседование на стажера, с зарплатой около 2-3х раз меньше чем я рассчитывал.
Чуть позже расскажу, почему не нужно было расстраиваться на счет зарплаты и как много значит один год опыта в профессии.
А сейчас расскажите в комментариях, с какой именно проблемой вы боритесь сейчас. Будь то непонимание ООП или поиск первой работы.
👉 JavaStart. Подписаться
Давайте немного пообщаемся. Я вам расскажу свой опыт по устройству на первую работу, а вы расскажете о своей текущей проблеме в изучении Java или в поиске первой работы, и мы попробуем разобраться в вашей проблеме.
Изначально я планировал работать андроид разработчиком и даже получил сертификат от Google. Суммарно у меня было 11 приглашений на собеседования. Начитавшись статей о программистах я четко знал, какая зарплата мне нужна 😄
Первые собеседования в компании по android разработке шли очень плохо. Я уже на собеседовании понимал, что не будет продолжения. Сами компании находились в странных местах, то это квартира в старом доме, то это необитаемая промзона.
Из 11 собеседований только одно было на backend разработку и только потому, что я был уже в отчаянии, просто не понимал как устроиться android разработчиком.
Эти собеседования продолжались более пяти месяцев и казалось, что устроится на работу почти нереально. Но тут подошло собеседование в моей первой компании на backend разработчика - это T-Systems. В итоге я прошел собеседование на стажера, с зарплатой около 2-3х раз меньше чем я рассчитывал.
Чуть позже расскажу, почему не нужно было расстраиваться на счет зарплаты и как много значит один год опыта в профессии.
А сейчас расскажите в комментариях, с какой именно проблемой вы боритесь сейчас. Будь то непонимание ООП или поиск первой работы.
👉 JavaStart. Подписаться
👍13⚡2❤1🔥1👨💻1
Каким образом можно предотвратить наследование класса в Java?
Anonymous Quiz
16%
Использовать модификатор доступа private для класса
10%
Определить класс как abstract
60%
Определить класс как final
9%
Невозможно предотвратить наследование класса в Java
5%
Посмотреть ответ
👍8🎉3❤1
SQL, базы данных. Часть 17.
При использовании в SELECT-запросах операторов OR и AND можно легко ошибиться в составлении логического выражения. И проблема таких ошибок в том, что запрос выполняется как будто ошибки нет, но данные выводятся неверные.
Если у вас мало опыта в написании таких SQL-запросов, то можно легко не заметить проблему. Давайте разберем несколько популярных ошибок.
Работать будем с таблицей team, которая содержит список разработчиков (Картинка 1).
Основные критерии оценки — это уровень владения технологией: junior, middle или senior, и базовый язык программирования, на котором пишет разработчик.
Нам как менеджерам поступает заявка на разработку проекта и на основании этой заявки мы должны подобрать необходимых разработчиков.
Представьте, что сейчас нас интересуют только мидлы и сеньоры. Напишем SQL-запрос:
SELECT * FROM team WHERE level = 'middle' AND level = 'senior';
После выполнения запроса мы увидим пустую таблицу как на Картинке 2.
И тут мы столкнулись с первой ошибкой. В нашем запросе база данных по очереди берет строку и проверяет находится ли в колонке level значение "middle" И значение "senior". Оператор AND — это условие одновременности. То есть исходя из нашего запроса в поле level должно находится одновременно и "middle", и "senior", что невозможно, так разработчик может быть только одного уровня.
Почему мы допустили такую ошибку? И дело в формулировках, когда я озвучивал задание, то написал, что нас интересуют только мидлы И сеньоры. Это правильное выражение с точки зрения русского языка, но неверное с точки зрения логики. Чтобы получить верный результат надо чтобы поле level содержало ИЛИ "middle", ИЛИ "senior". Поэтому заменим AND на OR:
SELECT * FROM team WHERE level = 'middle' OR level = 'senior';
Теперь разработчики подобраны верно (Картинка 3).
Такую ошибку легко допустить, если в формулировке задачи стоит союз И. Но не стоит его напрямую переносить в SQL-запрос. Возможно здесь кроется ошибка, особенно если мы сравниваем с одним полем.
👉 JavaStart. Подписаться
При использовании в SELECT-запросах операторов OR и AND можно легко ошибиться в составлении логического выражения. И проблема таких ошибок в том, что запрос выполняется как будто ошибки нет, но данные выводятся неверные.
Если у вас мало опыта в написании таких SQL-запросов, то можно легко не заметить проблему. Давайте разберем несколько популярных ошибок.
Работать будем с таблицей team, которая содержит список разработчиков (Картинка 1).
Основные критерии оценки — это уровень владения технологией: junior, middle или senior, и базовый язык программирования, на котором пишет разработчик.
Нам как менеджерам поступает заявка на разработку проекта и на основании этой заявки мы должны подобрать необходимых разработчиков.
Представьте, что сейчас нас интересуют только мидлы и сеньоры. Напишем SQL-запрос:
SELECT * FROM team WHERE level = 'middle' AND level = 'senior';
После выполнения запроса мы увидим пустую таблицу как на Картинке 2.
И тут мы столкнулись с первой ошибкой. В нашем запросе база данных по очереди берет строку и проверяет находится ли в колонке level значение "middle" И значение "senior". Оператор AND — это условие одновременности. То есть исходя из нашего запроса в поле level должно находится одновременно и "middle", и "senior", что невозможно, так разработчик может быть только одного уровня.
Почему мы допустили такую ошибку? И дело в формулировках, когда я озвучивал задание, то написал, что нас интересуют только мидлы И сеньоры. Это правильное выражение с точки зрения русского языка, но неверное с точки зрения логики. Чтобы получить верный результат надо чтобы поле level содержало ИЛИ "middle", ИЛИ "senior". Поэтому заменим AND на OR:
SELECT * FROM team WHERE level = 'middle' OR level = 'senior';
Теперь разработчики подобраны верно (Картинка 3).
Такую ошибку легко допустить, если в формулировке задачи стоит союз И. Но не стоит его напрямую переносить в SQL-запрос. Возможно здесь кроется ошибка, особенно если мы сравниваем с одним полем.
👉 JavaStart. Подписаться
👍6⚡3🔥3❤2
Что делает оператор break в цикле?
Anonymous Quiz
14%
Прекращает выполнение цикла и переходит к следующей итерации
4%
Пропускает текущую итерацию и переходит к следующей
0%
Увеличивает значение счётчика цикла
81%
Прекращает выполнение цикла и выходит из него
1%
Посмотреть ответ
👍8✍2⚡1🎉1
Друзья, привет!
Вступайте в наш JavaStart чат, где можно обсудить друг с другом различные вопросы касательно учебы по Java и других технологий, а также обсудить опыт собеседований и других тем.
В чате уже можно найти некоторые практические советы, которые помогут вам выбрать правильный ракурс в изучении Java.
Давайте объединяться!
Вступай ⬇️
https://t.me/+Ruy6h16YrtYzMzVi
👉 JavaStart. Подписаться
Вступайте в наш JavaStart чат, где можно обсудить друг с другом различные вопросы касательно учебы по Java и других технологий, а также обсудить опыт собеседований и других тем.
В чате уже можно найти некоторые практические советы, которые помогут вам выбрать правильный ракурс в изучении Java.
Давайте объединяться!
Вступай ⬇️
https://t.me/+Ruy6h16YrtYzMzVi
👉 JavaStart. Подписаться
👍6❤2🔥1🤓1
Всем привет! Это снова Леонид 🙂
Хочу рассказать вам, как начинал изучение программирования, а вы опишите в комментариях, что вам кажется самой сложной темой.
У меня было около трех-четырех попыток начать изучение Java на протяжении нескольких лет.
Моя специальность в университете - инженер автоматических систем управления не сильно связана с программированием, поэтому можно сказать, что я начинал с нуля.
Многие мои друзья с университета учились на направлении программирования. Думаю после общения с ними выбрал Java, но сами они не спешили этим заниматься, а университет, к сожалению, без дополнительного обучения не приближает к работе.
Первые мои попытки заканчивались достаточно быстро, помню были проблемы даже c foreach циклом, но самой большой проблемой было ООП. Только с финальной попытки у меня получилось это преодолеть. Было много вопросов, зачем нужны объекты, что это вообще такое.
Занимался обучением я около года и сегодня понимаю что многие из моих действий были не сильно эффективными, хотя проводил за учебой около 30 часов в неделю.
На первых собеседованиях я понял, что мои знания не структурированные. О многих вопросах и технологиях я что-то знал, но не мог об этом полноценно рассказать, а если интервьюер хотел углубиться в конкретную тему, то это становилось проблемой.
А сейчас расскажите, что вам кажется самым сложным в изучении Java или других технологий.
👉 JavaStart. Подписаться
Хочу рассказать вам, как начинал изучение программирования, а вы опишите в комментариях, что вам кажется самой сложной темой.
У меня было около трех-четырех попыток начать изучение Java на протяжении нескольких лет.
Моя специальность в университете - инженер автоматических систем управления не сильно связана с программированием, поэтому можно сказать, что я начинал с нуля.
Многие мои друзья с университета учились на направлении программирования. Думаю после общения с ними выбрал Java, но сами они не спешили этим заниматься, а университет, к сожалению, без дополнительного обучения не приближает к работе.
Первые мои попытки заканчивались достаточно быстро, помню были проблемы даже c foreach циклом, но самой большой проблемой было ООП. Только с финальной попытки у меня получилось это преодолеть. Было много вопросов, зачем нужны объекты, что это вообще такое.
Занимался обучением я около года и сегодня понимаю что многие из моих действий были не сильно эффективными, хотя проводил за учебой около 30 часов в неделю.
На первых собеседованиях я понял, что мои знания не структурированные. О многих вопросах и технологиях я что-то знал, но не мог об этом полноценно рассказать, а если интервьюер хотел углубиться в конкретную тему, то это становилось проблемой.
А сейчас расскажите, что вам кажется самым сложным в изучении Java или других технологий.
👉 JavaStart. Подписаться
👍10❤3🔥3⚡1