AND и OR в SQL: как правильно соединять условия
Когда мы работаем с базой данных, почти всегда хотим не просто что-то выбрать, а применить несколько условий сразу. Например: выбрать всех клиентов старше 18 лет и с активной подпиской.
И здесь на помощь приходят два основных логических оператора: AND и OR.
Что делают AND и OR
AND — «и». Все условия должны быть выполнены одновременно.
Пример: выбрать из холодильника молоко и яйца, чтобы приготовить омлет:
SELECT *
FROM fridge
WHERE product = 'milk' AND product = 'eggs';
(Да, в реальности одной строки с молоком и яйцом не будет, но идея ясна: оба условия должны выполняться вместе.)
OR — «или». Достаточно, чтобы выполнено было хотя бы одно условие.
Пример: выбрать продукты, которые нужно купить или молоко, или яйца:
SELECT *
FROM shopping_list
WHERE product = 'milk' OR product = 'eggs';
Где могут использоваться
Эти операторы обычно используют в блоке WHERE, чтобы фильтровать данные.
Также можно применять их в:
HAVING — фильтрация агрегатов после GROUP BY
JOIN ON — комбинирование условий соединения таблиц
Пример с HAVING:
SELECT category, COUNT(*)
FROM fridge
GROUP BY category
HAVING COUNT(*) > 5 AND AVG(expiry_date) < '2025-08-01';
Особенности и нюансы:
Порядок выполнения важен
AND имеет более высокий приоритет, чем OR.
Если смешиваете их, всегда используйте скобки для точного порядка:
SELECT *
FROM fridge
WHERE (product = 'milk' OR product = 'eggs') AND expiry_date < '2025-08-01';
AND «сжимает» результат, OR «расширяет» результат
AND оставляет меньше строк, OR — больше
Частые ошибки
Забыли скобки и получили слишком большой или слишком маленький результат
Использовали AND там, где нужен OR (или наоборот)
Смешали NULL значения: NULL AND TRUE и NULL OR TRUE могут вести себя неожиданно
Представим, что мама проверяет холодильник:
У неё есть список продуктов, которые могут испортиться: молоко, яйца, йогурт
Она хочет приготовить что-то, если и молоко, и яйца в наличии → AND
Она хочет перекусить, если есть молоко или йогурт → OR
В SQL это выглядит так:
-- Для приготовления омлета
SELECT *
FROM fridge
WHERE product = 'milk' AND product = 'eggs';
-- Для перекуса
SELECT *
FROM fridge
WHERE product = 'milk' OR product = 'yogurt';
AND и OR — это простые, но мощные инструменты фильтрации. Правильное использование скобок и понимание приоритета операторов помогает избежать ошибок и выбирать точно те данные, которые нужны.
А в своем канале На связи: SQL я публикую информацию с особенностями и нюансами в языке SQL, разбираю аналитические запросы и подходы работы с данными. Канал создала недавно с нулем подписчиков, но там уже есть интересная информация для работы аналитиков. Подписывайся!
Из чего состоит база данных? Простыми словами и с примерами из жизни
База данных — это не какой-то страшный монстр из IT-страшилок. Это, скорее, твой самый организованный шкаф, в котором всё лежит по полочкам и ты всегда знаешь, где что искать.
Вот разберёмся, из чего она состоит и почему это важно.
Особенности и нюансы, а также интересные факты, задачи и многое другое можно прочитать в моем канале На связи: SQL Я его веду с нуля, и рассказываю в публикациях информацию с самых основ. Подписывайся! Планирую разбирать там интересные аналитические задачи.
1. Таблицы — это как списки гостей на твоей вадьбе
Ты ведь когда-нибудь составлял(а) список гостей? Кто приглашён, как будет добираться, где остановится, откуда забрать? Вот это и есть таблица — аккуратный список, где каждая строка — отдельный гость, а каждый столбец — важная инфа про него.
Представь: ты пытаешься запомнить, кто из гостей любит веганский салат, а кто шоколадный торт. В таблице всё чётко — не надо ломать голову!
2. Поля (столбцы) — это категории, которые помогают разложить данные по полочкам
Поле — это как коробка с надписью «Имя», «Телефон», «Принёс подарок». Без таких коробок у тебя бы всё смешалось в одну кучу — как если бы носки и трусы лежали в одной коробке и искать их было бы сплошным кошмаром.
Жизненный пример: когда мама говорит: «Твои учебники на полке, а игрушки — в коробке», она на самом деле говорит о полях — разделении информации.
3. Записи (строки) — это конкретные данные, про каждого гостя или объект
Строка — это, грубо говоря, одна полная карточка гостя: «Оля, +7 900..., принесла торт». Не нужно ничего додумывать — всё записано и понятно.
Представь: хочешь позвонить Оле? Заглядываешь в её строку — и все контакты под рукой.
А теперь маленький секрет базы данных:
Представь, что у тебя не просто один список гостей, а сотни списков — по разным праздникам, по родственникам, по коллегам. И ты хочешь быстро узнать, кто из них умеет играть на гитаре или кто приносил на последний праздник вино.
Здесь на помощь приходят…
Индексы — как яркие закладки в книгах. Без них поиск был бы как искать иголку в стоге сена.
Связи (отношения) — это как ниточки между гостями и подарками. Они показывают, кто что принёс, кто с кем пришёл и кто кому друг.
Представления (вьюшки) — это твои любимые списки, которые показывают только нужных гостей — например, только тех, кто любит танцевать.
Процедуры и триггеры — это автоматические помощники, которые, например, сразу отправят напоминание гостю, если он не подтвердил участие.
Почему это важно?
Потому что без базы данных твой «шкаф» превратится в хаос: всё смешается, запутается, и ты будешь тратить часы, чтобы найти нужную информацию.
База данных — это как суперорганайзер твоей жизни, только для данных.
Ну а в своем канале На связи: SQL я пишу об особенностях языка SQL, интересных ситуациях и все это пытаюсь объяснить простым доступных языком.
Дневник трейдера в Excel. Автоматическая таблица с частичным закрытием сделки
UPD:
Таблицу можно приобрести на моем сайте:
Версия 1.0 (с одним тейк-профитом): https://godunovinvest.ru/trader-diary-v1
Версия 2.0 (с частичным закрытием сделки): https://godunovinvest.ru/trader-diary-v2
Дневник трейдера - это журнал сделок трейдера, который помогает оценить доходность и прибыльность текущей торговой стратегии. Он используется для ведения записей о торговых сделках на финансовых рынках.
Основная цель - это систематизация торговых действий для анализа и улучшения принятых решений в будущем. Ведение дневника помогает трейдерам видеть какие стратегии работают, а какие - нет.
Получить таблицу можно в конце статьи!
Телеграм-канал @GODUNOVVVV
Главные новости и анализ рынка
В этот документ записываются все действия, включая, тейк-профиты, риски, депозит, развитие стратегии, психология и многое другое. Вести торговый журнал действительно легко. И если делать это постоянной основе, то он быстро докажет свою эффективность.
Польза ведения торгового журнала:
У вас появится отчетность
Вы станете более дисциплинированными и последовательными
Вы сможете определять прибыльные торговые стратегии
Вы будете знать свои сильные и слабые стороны
Вы будете внимательнее анализировать потенциальные сделки
Таблица для учета сделок в EXCEL
ДАННАЯ ТАБЛИЦА ДЛЯ УЧЕТА СДЕЛОК УНИКАЛЬНА! Она до сих пор неповторима по своим возможностям, и аналогов ей нет. Она автоматически рассчитывает прибыль в зависимости от типа сделки (Long или Short).
В ней можно зафиксировать сделку частями по разным ценам и на разное количество. В таблице есть три тейк-профита для продажи на определенный процент от начального количества купленного актива! Вы также можете приобрести 1-ю версию Дневника трейдера с одним тейк-профитом, если ваша стратегия ориентирована на достижение конкретной цели.
Дневник трейдера 2.0 ПОЛНОСТЬЮ РАЗРАБОТАН МНОЙ, как и версия 1.0. Вы не найдете ничего более удобного и практичного. В него можно занести всю необходимую информацию, после чего будет отражена подробная статистика.
Для тех, кому таблица кажется большой я разработал упрощенные версии. В них можно очень быстро занести доходность в течение дня всего за пару минут и проанализировать торговлю.
- Упрощенный дневник трейдера (быстрое заполнение)
- Простая таблица сделок трейдера (бесплатная)
Как пользоваться?
Вам нужно заполнять только белые ячейки под основным заголовком (1-11, 13-18, 26-31). В случае, если вы пропустили важные ячейки, то они подсветятся желтым или красным цветом. Голубые ячейки и статистику слева вверху трогать не нужно (E1:E2), т.к. они автоматически выводят результат на основе ваших данных. Будьте аккуратны, чтобы случайно не изменить формулы.
Обязательно заполняйте "Стратегию входа" и "Эмоциональное состояние". Это может показаться мелочью, но на самом деле это самое важное в этой таблице. Данные ячейки позволят сделать точный анализ вашей торговли, а сводная информация будет отображена на последнем листе. Вы сможете легко найти причину ваших постоянных убыточных сделок, и наконец-то начнете зарабатывать. Без этой информации остальная данные не будут особо полезны. Просто поверьте на слово.
Информация о столбцах и ячейках:
Дата и время открытия/закрытия сделки
Информация о валютной паре
Цена покупки и продажи, $(₽)
Тип сделки (Long, Short, Спот "Buy", Спот "Sell"). Обязательно указывать!
Цена открытия. (Учитывает тип сделки), $(₽)
Цены Тейк-профитов, $(₽)
Процент проданного актива % (для частичной фиксации позиции)
Текущая средняя цена (цена безубытка по активу), $(₽)
Цена Стоп-лосс. (Оценивает возможный убыток), $(₽)
Ваш текущий депозит, $(₽)
Информация о сумме сделки от депозита, $(₽)
Кредитное плечо (при маржинальной/фьючерсной торговле)
Сумма и процент в сделке от депозита, $(₽),%
Сумма сделки с плечом и без него, $(₽)
Оставшаяся сумма сделки (нереализованная), $(₽)
Текущее количество активов, шт
Возможный убыток при достижении Стоп-Лосс, $(₽)
Прибыль/Убыток по сделке (PNL), $(₽)
Комиссия за сделку (учитывается в PNL), $(₽)
Место торговли: Биржа, Кошелек, DEX
Описание: примечание, эмоции, ошибки
Общий доход за все время, $(₽)
Статистика
Во второй вкладке я сделал подробную статистику о вашей доходности. А также добавил удобные графики, по котором можно быстро проанализировать как меняется депозит. Они максимально оптимизированы под таблицу и автоматически перестраиваются при заполнении пустых ячеек, что очень редко встречается.
Во вкладке будет два графика для удобного анализа:
- Первый отобразит статистику по каждой сделке
- Второй отобразит статистику суммарно за 7 дней (неделю)
Анализ торговых стратегий
Данная вкладка поможет понять какая стратегия работает, а какая нет. Здесь необходимо указать текущий депозит на начало месяца (или оставить формулы), ввести цель заработка в процентах "%" и суммой "$". Именно с этими значениями вы будете сравнивать вашу реальную прибыль. Далее в синих ячейках отобразится помесячная статистика, на основе введенных данных из других вкладок. Вам сразу станет понятно сколько вы зарабатываете, какие эмоции чаще испытываете и какая стратегия работает лучше всего.
Табличка инвестированных денег и текущего депозита
Для того, чтобы удобно анализировать сколько денег вы внесли на биржу и сколько с нее вывели, я сделал вот такую простую, но очень важную таблицу с графиком. Она даст реальное понимание того, зарабатываете ли вы или только теряете. В ней отображается текущий депозит с учетом дохода. Обязательно ее заполняйте!
Видео по дневнику трейдера. Обзор и заполнение
Где купить таблицу?
На сайте: godunovinvest.ru/trader-diary-v2
Готовая торговая система: godunovinvest.ru
После оплаты вы получите Excel-файл или ссылку на Гугл-Документы, где необходимо скачать файл или создать копию, чтобы можно было его редактировать.
Список БЕСПЛАТНЫХ и ПЛАТНЫХ таблиц для ИНВЕСТИЦИЙ и ТРЕЙДИНГА выложил в своем Телеграм-канале и на Дзен
Про GoogleSheets
А разве не считается верхом владения этим инструментом, когда так настроил таблицы, что можешь любой отчет быстро сделать? Нажав три кнопки
👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍🤗
Пофиг. Быть добру. Не совершать фатальных ошибок и повторяющихся
Сегодня, 2. Сейчас? 3.В реале? По факту? 4. Можешь? 1-4 .Заншин. (В реале, по факту. Смотрим по горизонту, контроль вокруг. Сознательное ).
5.Рефлексия:а) Полезно? б) Добродетельно? 6.Надо.7 Хочу. 5-7. Мусин.(голова, бессознательное, иллюзия ) .
Все +,1. Пробуй= усилие + добродетель. Попробовал 50/50. Не попробовал всегда проиграл.
Игра в сейчас: Ложь или действие ? (движение-жизнь , если СМНХ все "+,1 , усилие + добродетель =прогресс").