14 Ноября 2022
214

Приводим данные в порядок с помощью Microsoft Access (часть6)

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост
Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Основу работы с реляционными базами данных составляет язык структурированных запросов SQL (Structured Query Language). Это набор инструкций по манипулированию объектами базы данных, с помощью них мы можем создавать таблицы, добавлять в них данные, производить выборку данных, удалять данные и удалять таблицы. Для всего этого мы пользовались соответствующими мастерами, но под капотом Access формулировал эти задачи на языке SQL и даже генерировал для нас готовый SQL код. Основные команды языка применимы к большинству реляционных баз данных (MS SQL Server, Oracle, MySQL, PostgreSQL, SQLite и т. п.), это устоявшийся стандарт в мире реляционных баз. Различные СУБД расширяют возможности SQL собственным функционалом, но основной синтаксисе с незначительными особенностями применим ко всем.

Откроем наш запрос contacts в режиме SQL. В окне построителя запросов мы наблюдаем код на языке SQL, код сгенерировал Access, но мы бы могли написать его сами и он бы заработал. Разберемся в структуре SQL запросов на более простом примере.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Самыми распространенными запросами являются:

запрос на выборку;

запрос на вставку;

запрос на удаление.

Самый простой запрос на выборку начинается с оператора SELECT, затем следует перечисление необходимых полей, затем оператор FROM после чего указывается имя таблицы (таблиц) которым принадлежат эти поля, например:


SELECT name, surname, email FROM contacts;


В результате мы получим все записи таблицы contacts, представленные тремя полями. Если же мы хотим вывести все поля мы можем написать SELECT * FROM contacts; В конце инструкции ставится точка с запятой.

Через вкладку Создание откроем уже не Мастер запросов, а Конструктор запросов. Не будем выбирать таблицу предложенную диалоговым окном и перейдем в SQL режим. Напишем здесь уже известную нам конструкцию SELECT name, surname, email FROM contacts; и отправим ее на исполнение нажав на кнопку с красным восклицательным знаком.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Убедимся в правильности вывода, действительно программа вывела все записи представленные тремя полями

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Заменим перечисление полей в секции SELECT на символ * (звездочка):


SELECT * FROM contacts; и выполним запрос.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Результатом запроса будут все записи и все поля таблицы contacts.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Предположим нас интересуют только активные контакты. Реализуем это в SQL запросе, для этого существует оператор WHERE, это оператор условия. Запрос будет выглядеть следующим образом:

SELECT * FROM contacts WHERE active=true;


Иными словами показать все записи таблицы contacts где поле [active] имеет значение ИСТИНЫ, в SQL коде мы уже строго придерживаемся английского значения слова ИСТИНА – true и ЛОЖЬ – false.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Мы можем задавать несколько значений в секции WHERE. …WHERE условие1 AND условие2 AND условие3, перечисляя их через логические операторы AND. Например:


SELECT * FROM contacts WHERE active=true AND [regdate]= #27/10/2022#;


Запрос покажет все записи из таблицы contacts со значением поля [active] равным ИСТИНА и датой регистрации [regdate] равной 27.10.2022, заметим что дату мы обернули в символ решетки и разделили день, месяц, год через слеш, это необходимо при работе с датами в запросах.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

В нашем запросе contacts, помимо таблицы contacts, есть еще таблица phones. В запросах мы можем указывать больше одной таблицы, но необходимо указывать по каким полям будет объединяться результат, для этого существует оператор INNER JOIN. Вообще тема объединения таблиц довольна обширна, мы же рассмотрим самый распространенный вид объединения - внутренне. Наш запрос усложняется наличием двух таблиц, имена полей теперь необходимо указывать в формате – имя_таблица.имя_поля, так как в разных таблицах могут находится поля с одинаковыми именами и как мы помним у нас в обоих таблицах есть поле [id]. Запрос на объединение таблицы contacts и phones c возможностью выбора полей из обоих таблиц будет выглядеть следующим образом:


SELECT contacts.name, contacts.surname, contacts.email, phones.phone

FROMcontacts INNERJOIN phones ON contacts.id = phones.userid;


Иными словами код говорит – выбрать поля [name], [surname], [email], [phone] из объединенных таблиц contacts и phones, где каждой записи таблицы contacts соответствует запись из таблицы phones, в которых поля [id] и [userid] совпадают.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Выполним запрос нажав на красный восклицательный знак.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Наглядно убедимся в правильности выполнения запроса, контакты имеющие более одного телефонного номера выводятся для каждого номера.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Дополним наш запрос секцией WHERE, для выбора только активных контактов, при этом само поле [active] выводить не обязательно.


SELECT contacts.name, contacts.surname, contacts.email, phones.phone

FROM contacts INNER JOIN phones ON contacts.id = phones.userid

WHERE active=true;

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост
Показать полностью 11
22

Лошадь бежит в поле

Использована фестивальная краска Holi. Полностью безопасна для людей и животных.
Фотограф Лев Дурнов. Лошадь Брю, б/п, выкуплена с бойни. Хозяйка Анастасия.

Лошадь бежит в поле Лошади, Домашние животные, Животные, Длиннопост
Лошадь бежит в поле Лошади, Домашние животные, Животные, Длиннопост
Лошадь бежит в поле Лошади, Домашние животные, Животные, Длиннопост
Лошадь бежит в поле Лошади, Домашние животные, Животные, Длиннопост
Показать полностью 4
1710
Cynic Mansion

KPI-айное

И бонусная в комментах, посмертные!

KPI-айное Комиксы, CynicMansion, Смерть, Жизнь после смерти, Чистилище, Длиннопост

Да, это комикс про смерть. Да, в нем нет отсылок к [ДАННЫЕ УДАЛЕНЫ]. И никто не говорит, что нужно было делать это днем и никто не отвечает " [ДАННЫЕ УДАЛЕНЫ]! [ДАННЫЕ УДАЛЕНЫ]!". Теперь это пост с отсылками к SCP.
А те, кто хочет помочь развитию объекту "Комикс" с уровнем опасности [ДАННЫЕ УДАЛЕНЫ], вы знаете что делать: ₽ внизу поста, прямая ссылка для тех, кто в приложении. Организация будет вам очень благодарна.
З.Ы. Серьезно, просто отсылка к SCP, чтобы сбить вас с мыслей о Кос... кто-то стучит в дверь, надо открыть.

Показать полностью 1
17

Вопрос по расходу электроэнергии в землю

Хочу сделать заземление на даче у родителей супруги.
Перекладываю проводку на трехжильную.
В дом заходит 2 проводника (фаза и ноль). Колеблюсь сейчас межэду ТТ и TN-C-S.
Если делать ТТ, то вбиваю штырь метров нп 15 возле дома и завожу отдельный проводник в щит, с нулем не соединяю.
Минусы - вести новый провод

TN-C-S. Этот же штырь вбиваю возле столба, соединяю с нулем, который идет в дом. В доме развожу на две шины (PE и N). Плюс - не нужно вести новую жилу в дом. Минус - риск возникновения потенциала на корпусе.

И главный вопрос. Через землю будет уходить часть энергии, которую будет считать счетчик. На сколько эта сумма чувствительна?
И верно ли я понимаю, что мой счетчик также будет считать ток, который пойдет в землю при отгорании общего нуля?

Мои подписки
Подписывайтесь на интересные вам теги, сообщества, авторов, волны постов — и читайте свои любимые темы в этой ленте.
Чтобы добавить подписку, нужно авторизоваться.

Отличная работа, все прочитано! Выберите