HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>SQL - это…</a></li>
1 <ul><li><a>SQL - это…</a></li>
2 <li><a>Краткая характеристика Select</a><ul><li><a>Разделы</a></li>
2 <li><a>Краткая характеристика Select</a><ul><li><a>Разделы</a></li>
3 </ul></li>
3 </ul></li>
4 <li><a>Форма представления Select</a><ul><li><a>Оператор Where</a><ul><li><a>Равно и не равно</a></li>
4 <li><a>Форма представления Select</a><ul><li><a>Оператор Where</a><ul><li><a>Равно и не равно</a></li>
5 <li><a>Больше и меньше</a></li>
5 <li><a>Больше и меньше</a></li>
6 <li><a>Like</a></li>
6 <li><a>Like</a></li>
7 <li><a>In и not in</a></li>
7 <li><a>In и not in</a></li>
8 <li><a>Between</a></li>
8 <li><a>Between</a></li>
9 </ul></li>
9 </ul></li>
10 <li><a>Использование Order By</a></li>
10 <li><a>Использование Order By</a></li>
11 <li><a>Предложения Limit</a></li>
11 <li><a>Предложения Limit</a></li>
12 </ul></li>
12 </ul></li>
13 <li><a>Соединение в SQL</a><ul><li><a>Удаление дубликатов</a></li>
13 <li><a>Соединение в SQL</a><ul><li><a>Удаление дубликатов</a></li>
14 </ul></li>
14 </ul></li>
15 </ul><p>MySQL - реляционная система управления базами данных свободного типа. Распространяется под GNU General Public License, а также под собственной коммерческой лицензией. Разработчики проекта MySQL регулярно создают новые функциональные возможности. Соответствующая система управления базами данных имеет механизм репликации.</p>
15 </ul><p>MySQL - реляционная система управления базами данных свободного типа. Распространяется под GNU General Public License, а также под собственной коммерческой лицензией. Разработчики проекта MySQL регулярно создают новые функциональные возможности. Соответствующая система управления базами данных имеет механизм репликации.</p>
16 <p>Данная СУБД используется как для небольших, так и для средних приложений. Широко применяется при формировании веб-серверов. MySQL часто выступает в виде сервера, к которому подключаются локальные сети и удаленные клиенты. Дистрибутив поддерживает библиотеку внутреннего сервера. С его помощью СУБД поддерживает функционирование автономного программного обеспечения. Поддерживает работу с SQL-запросами.</p>
16 <p>Данная СУБД используется как для небольших, так и для средних приложений. Широко применяется при формировании веб-серверов. MySQL часто выступает в виде сервера, к которому подключаются локальные сети и удаленные клиенты. Дистрибутив поддерживает библиотеку внутреннего сервера. С его помощью СУБД поддерживает функционирование автономного программного обеспечения. Поддерживает работу с SQL-запросами.</p>
17 <p>MySQL позволяет извлекать строки и данные из электронных баз данных. Для этого используется оператор Select. Изучим его более подробно.</p>
17 <p>MySQL позволяет извлекать строки и данные из электронных баз данных. Для этого используется оператор Select. Изучим его более подробно.</p>
18 <h2>SQL - это…</h2>
18 <h2>SQL - это…</h2>
19 <p>Сначала предстоит выяснить, что собой представляет SQL. Так называется стандартизированный язык, используемый для взаимодействия с базами данных. Он помогает:</p>
19 <p>Сначала предстоит выяснить, что собой представляет SQL. Так называется стандартизированный язык, используемый для взаимодействия с базами данных. Он помогает:</p>
20 <ul><li>получать доступ к информации из БД;</li>
20 <ul><li>получать доступ к информации из БД;</li>
21 <li>изменять имеющиеся сведения;</li>
21 <li>изменять имеющиеся сведения;</li>
22 <li>удалять записи из баз данных.</li>
22 <li>удалять записи из баз данных.</li>
23 </ul><p>SQL-язык условно делится на несколько частей:</p>
23 </ul><p>SQL-язык условно делится на несколько частей:</p>
24 <ol><li>Syntax, используемый для семантических языковых вопросов. Он позволяет идентифицировать отдельные элементы БД.</li>
24 <ol><li>Syntax, используемый для семантических языковых вопросов. Он позволяет идентифицировать отдельные элементы БД.</li>
25 <li>Syntax управления. Дает возможность обновлять, а также искать интересующие электронные материалы.</li>
25 <li>Syntax управления. Дает возможность обновлять, а также искать интересующие электронные материалы.</li>
26 <li>Синтаксис, выдающие пользователям права на те или иные единицы информации в БД.</li>
26 <li>Синтаксис, выдающие пользователям права на те или иные единицы информации в БД.</li>
27 </ol><p>SQL - язык, используемый различными СУБД, в число которых включена MySQL. Далее предстоит более подробно изучить команду Select, а также рассмотреть несколько наглядных примеров запросов с ней.</p>
27 </ol><p>SQL - язык, используемый различными СУБД, в число которых включена MySQL. Далее предстоит более подробно изучить команду Select, а также рассмотреть несколько наглядных примеров запросов с ней.</p>
28 <p>Оператор Select используется в SQL queries для основной работы с таблицами. Команда является универсальной syntax конструкцией. Добавляя в нее различные предложения и параметры, удается выполнять различные операции, связанные с выборкой.</p>
28 <p>Оператор Select используется в SQL queries для основной работы с таблицами. Команда является универсальной syntax конструкцией. Добавляя в нее различные предложения и параметры, удается выполнять различные операции, связанные с выборкой.</p>
29 <p>Select from - оператор запроса в SQL. Он возвращает набор данных (выборку) из заданной БД. Здесь рекомендуется запомнить следующие особенности:</p>
29 <p>Select from - оператор запроса в SQL. Он возвращает набор данных (выборку) из заданной БД. Здесь рекомендуется запомнить следующие особенности:</p>
30 <ol><li>Select возвращает ноль или более строк.</li>
30 <ol><li>Select возвращает ноль или более строк.</li>
31 <li>Список возвращаемых столбцов необходимо задать в части оператора, которая называется предложением Select.</li>
31 <li>Список возвращаемых столбцов необходимо задать в части оператора, которая называется предложением Select.</li>
32 <li>Запрос Select определит требования к возвращаемому набору информации. Он не является точной инструкцией по вычислению данных.</li>
32 <li>Запрос Select определит требования к возвращаемому набору информации. Он не является точной инструкцией по вычислению данных.</li>
33 </ol><p>Включает в себя несколько разделов. Каждый такой query отвечает за выборку с уточненными параметрами. Далее предстоит рассмотреть их более подробно.</p>
33 </ol><p>Включает в себя несколько разделов. Каждый такой query отвечает за выборку с уточненными параметрами. Далее предстоит рассмотреть их более подробно.</p>
34 <h3>Разделы</h3>
34 <h3>Разделы</h3>
35 <p>Selects позволяют получить информацию из имеющихся электронных таблиц для дальнейшей обработки. Одноименный оператор поддерживает разделы:</p>
35 <p>Selects позволяют получить информацию из имеющихся электронных таблиц для дальнейшей обработки. Одноименный оператор поддерживает разделы:</p>
36 <ol><li>Select. Отвечает за определение спектра возвращаемых столбцов. Работает не только с уже существующими, но и с вычисляемыми компонентами. Поддерживает определение имен столбцов, ограничений на уникальность строк в возвращаемом наборе, а также на их количество.</li>
36 <ol><li>Select. Отвечает за определение спектра возвращаемых столбцов. Работает не только с уже существующими, но и с вычисляемыми компонентами. Поддерживает определение имен столбцов, ограничений на уникальность строк в возвращаемом наборе, а также на их количество.</li>
37 <li>From. Раздел, отвечающий за определение базового набора информации для дальнейших операций. Указывает на пространство, откуда брать материалы для предполагаемых расчетов.</li>
37 <li>From. Раздел, отвечающий за определение базового набора информации для дальнейших операций. Указывает на пространство, откуда брать материалы для предполагаемых расчетов.</li>
38 <li>Group By. Используется для объединения рядов, обладающих одинаковыми свойствами. В процессе реализации используются агрегатные функции.</li>
38 <li>Group By. Используется для объединения рядов, обладающих одинаковыми свойствами. В процессе реализации используются агрегатные функции.</li>
39 <li>Where. Используется для формирования ограничений на строки табличного выражения, определенного предложением From.</li>
39 <li>Where. Используется для формирования ограничений на строки табличного выражения, определенного предложением From.</li>
40 <li>Having. Проводит выборку среди групп, определенных при помощи параметра Group By.</li>
40 <li>Having. Проводит выборку среди групп, определенных при помощи параметра Group By.</li>
41 <li>Order by. Используется для формирования критериев сортировки строк. После выполнения соответствующей операции отправляет информацию в точку вызова.</li>
41 <li>Order by. Используется для формирования критериев сортировки строк. После выполнения соответствующей операции отправляет информацию в точку вызова.</li>
42 </ol><p>Далее будут приведены наглядные примеры использования каждого оператора. Они помогут быстрее понять, как использовать SQL language для работы с MySQL и выборки информации.</p>
42 </ol><p>Далее будут приведены наглядные примеры использования каждого оператора. Они помогут быстрее понять, как использовать SQL language для работы с MySQL и выборки информации.</p>
43 <h2>Форма представления Select</h2>
43 <h2>Форма представления Select</h2>
44 <p>Для формирования SQL-запроса типа Selecting, необходимо воспользоваться конструкцией следующего вида:</p>
44 <p>Для формирования SQL-запроса типа Selecting, необходимо воспользоваться конструкцией следующего вида:</p>
45 <p>В соответствующей записи поле1 и поле2 - это имена столбцов. Для того, чтобы извлечь их все из таблицы, используется выражение "*" (без кавычек). Имя_таблицы будет задавать табличное имя. Это - название хранилища информации, откуда необходимо извлечь данные.</p>
45 <p>В соответствующей записи поле1 и поле2 - это имена столбцов. Для того, чтобы извлечь их все из таблицы, используется выражение "*" (без кавычек). Имя_таблицы будет задавать табличное имя. Это - название хранилища информации, откуда необходимо извлечь данные.</p>
46 <p>Limit в приведенном примере используется для того, чтобы ограничить количество строк, возвращаемых изучаемым оператором. Order By позволяет сортировать результирующие значения столбца по возрастанию или убыванию.</p>
46 <p>Limit в приведенном примере используется для того, чтобы ограничить количество строк, возвращаемых изучаемым оператором. Order By позволяет сортировать результирующие значения столбца по возрастанию или убыванию.</p>
47 <h3>Оператор Where</h3>
47 <h3>Оператор Where</h3>
48 <p>Далее предстоит изучить all operators, используемые с Select from. Первый вариант - это where. Этот оператор может отсутствовать в запросе. Он является необязательным. Позволяет ввести уточняющие условия в команду. В качестве альтернативы допускается использование в Select from операторов and и or.</p>
48 <p>Далее предстоит изучить all operators, используемые с Select from. Первый вариант - это where. Этот оператор может отсутствовать в запросе. Он является необязательным. Позволяет ввести уточняющие условия в команду. В качестве альтернативы допускается использование в Select from операторов and и or.</p>
49 <p>Where используется с запросами for update и delete. Чтобы понять принцип работы оператора, необходимо изучить наглядный example. Вот так выглядит общая форма SQL-query:</p>
49 <p>Where используется с запросами for update и delete. Чтобы понять принцип работы оператора, необходимо изучить наглядный example. Вот так выглядит общая форма SQL-query:</p>
50 <p>Теперь можно создать таблицу users по предложенной схеме. Она будет включать в себя поля:</p>
50 <p>Теперь можно создать таблицу users по предложенной схеме. Она будет включать в себя поля:</p>
51 <ul><li>id;</li>
51 <ul><li>id;</li>
52 <li>first_name;</li>
52 <li>first_name;</li>
53 <li>last_name;</li>
53 <li>last_name;</li>
54 <li>address;</li>
54 <li>address;</li>
55 <li>city;</li>
55 <li>city;</li>
56 <li>zip;</li>
56 <li>zip;</li>
57 <li>state;</li>
57 <li>state;</li>
58 <li>contact_number;</li>
58 <li>contact_number;</li>
59 <li>login_attempts;</li>
59 <li>login_attempts;</li>
60 <li>password;</li>
60 <li>password;</li>
61 <li>email;</li>
61 <li>email;</li>
62 <li>username.</li>
62 <li>username.</li>
63 </ul><p>Выглядит это так:</p>
63 </ul><p>Выглядит это так:</p>
64 <p>При использовании в select from предложения where, могут потребоваться дополнительные операторы: равенство/неравенство, больше/меньше, in/not in, like, between.</p>
64 <p>При использовании в select from предложения where, могут потребоваться дополнительные операторы: равенство/неравенство, больше/меньше, in/not in, like, between.</p>
65 <h4><em>Равно и не равно</em></h4>
65 <h4><em>Равно и не равно</em></h4>
66 <p>Оператор равенства (=) используется для проверки на идентичность значений двух полей. Если они совпадают, условие получает значение true. Оператор после этого извлечет необходимые данные для дальнейшей обработки.</p>
66 <p>Оператор равенства (=) используется для проверки на идентичность значений двух полей. Если они совпадают, условие получает значение true. Оператор после этого извлечет необходимые данные для дальнейшей обработки.</p>
67 <p>При несовпадении значений условие должно включать в себя оператор неравенства (&lt;&gt;). С его помощью происходит извлечение данных на основе условия, которое не совпадает.</p>
67 <p>При несовпадении значений условие должно включать в себя оператор неравенства (&lt;&gt;). С его помощью происходит извлечение данных на основе условия, которое не совпадает.</p>
68 <p>Вот - пример from where, в котором необходимо получить все записи с городом New York.</p>
68 <p>Вот - пример from where, в котором необходимо получить все записи с городом New York.</p>
69 <h4><em>Больше и меньше</em></h4>
69 <h4><em>Больше и меньше</em></h4>
70 <p>При использовании selected from where иногда необходимо сравнивать значения. Оператор больше (&gt;) отвечает за проверку значения левого поля. С его помощью система выясняет, больше ли оно правого. Если да, написанное условие будет выполнено.</p>
70 <p>При использовании selected from where иногда необходимо сравнивать значения. Оператор больше (&gt;) отвечает за проверку значения левого поля. С его помощью система выясняет, больше ли оно правого. Если да, написанное условие будет выполнено.</p>
71 <p>Оператор меньше (&lt;) проверяет, меньше ли значение левого поля в выражении from where, чем правого. Допускается одновременное использование соответствующих условий (&gt;/&lt;). В соответствующей ситуации равенство проверяется совместно.</p>
71 <p>Оператор меньше (&lt;) проверяет, меньше ли значение левого поля в выражении from where, чем правого. Допускается одновременное использование соответствующих условий (&gt;/&lt;). В соответствующей ситуации равенство проверяется совместно.</p>
72 <p>Выше - пример запроса from where, в котором требуется получить все записи с попытками входа, превышающим два раза.</p>
72 <p>Выше - пример запроса from where, в котором требуется получить все записи с попытками входа, превышающим два раза.</p>
73 <h4><em>Like</em></h4>
73 <h4><em>Like</em></h4>
74 <p>При помощи Like в Select from пользователь может искать записи в столбце по заданным шаблонам. В запросе используются подстановочные символы для их определения. Обычно встречаются следующие варианты:</p>
74 <p>При помощи Like в Select from пользователь может искать записи в столбце по заданным шаблонам. В запросе используются подстановочные символы для их определения. Обычно встречаются следующие варианты:</p>
75 <ol><li>%. Подстановочный символ в select from, используемый для поиска ноль или более любых символов. Вот - пример поиска пользователей с именами, начинающимися на "а": . Если необходимо отыскать имена, которые начинаются на "а", а заканчиваются на "s", запись станет такой: .</li>
75 <ol><li>%. Подстановочный символ в select from, используемый для поиска ноль или более любых символов. Вот - пример поиска пользователей с именами, начинающимися на "а": . Если необходимо отыскать имена, которые начинаются на "а", а заканчиваются на "s", запись станет такой: .</li>
76 <li>_(нижнее подчеркивание). Символ, используемый для поиска по заданному шаблону. В месте нижнего подчеркивания может располагаться любой символ. Пример - поиск пользователей, чье имя заканчивается на dmin, но первый символ точно неизвестен. На его месте может быть любое другое значение. В соответствующей ситуации необходимо сформировать запрос select from where like такого типа: .</li>
76 <li>_(нижнее подчеркивание). Символ, используемый для поиска по заданному шаблону. В месте нижнего подчеркивания может располагаться любой символ. Пример - поиск пользователей, чье имя заканчивается на dmin, но первый символ точно неизвестен. На его месте может быть любое другое значение. В соответствующей ситуации необходимо сформировать запрос select from where like такого типа: .</li>
77 </ol><p>При использовании "_" считывается только один символ. Если любых символов перед окончанием должно быть два, потребуется указать несколько "_".</p>
77 </ol><p>При использовании "_" считывается только один символ. Если любых символов перед окончанием должно быть два, потребуется указать несколько "_".</p>
78 <h4><em>In и not in</em></h4>
78 <h4><em>In и not in</em></h4>
79 <p>При использовании в выражении select from where команды in происходит сравнение нескольких значений после where. Вот - examples, указывающие на выборку всех пользователей из New York и Chicago:</p>
79 <p>При использовании в выражении select from where команды in происходит сравнение нескольких значений после where. Вот - examples, указывающие на выборку всех пользователей из New York и Chicago:</p>
80 <p>Not in работает в from where иначе. Данная команда оказывает на обратную in функцию. Вот так будет выглядеть запрос, в котором необходимо указать всех пользователей, живущих не в New York или Chicago: .</p>
80 <p>Not in работает в from where иначе. Данная команда оказывает на обратную in функцию. Вот так будет выглядеть запрос, в котором необходимо указать всех пользователей, живущих не в New York или Chicago: .</p>
81 <p>Это элементарные примеры. На их основании удается формировать более сложные structured queries.</p>
81 <p>Это элементарные примеры. На их основании удается формировать более сложные structured queries.</p>
82 <h4><em>Between</em></h4>
82 <h4><em>Between</em></h4>
83 <p>Between используется для извлечения информации из заданного диапазона. Область определения в select from может быть любой - текстом, датой, цифрой.</p>
83 <p>Between используется для извлечения информации из заданного диапазона. Область определения в select from может быть любой - текстом, датой, цифрой.</p>
84 <p>Выше - пример запроса as select from, где необходимо отыскать пользователей с датами создания профилей в промежутке от 1 до 16 июля 2017 года.</p>
84 <p>Выше - пример запроса as select from, где необходимо отыскать пользователей с датами создания профилей в промежутке от 1 до 16 июля 2017 года.</p>
85 <h3>Использование Order By</h3>
85 <h3>Использование Order By</h3>
86 <p>Предложение order by используется для того, чтобы привести записи в порядок. Оно выводит информацию в упорядоченной форме. From order by - выражение, позволяющее сортировать значения по столбцу по убыванию или возрастанию.</p>
86 <p>Предложение order by используется для того, чтобы привести записи в порядок. Оно выводит информацию в упорядоченной форме. From order by - выражение, позволяющее сортировать значения по столбцу по убыванию или возрастанию.</p>
87 <p>По умолчанию в from order by используется вывод "от меньшего к большему". При помощи ключевого слова desc информация будет введена по убыванию, а asc - по возрастанию.</p>
87 <p>По умолчанию в from order by используется вывод "от меньшего к большему". При помощи ключевого слова desc информация будет введена по убыванию, а asc - по возрастанию.</p>
88 <p>Для сортировки по нескольким столбцам необходимо указать их в from order by через запятую.</p>
88 <p>Для сортировки по нескольким столбцам необходимо указать их в from order by через запятую.</p>
89 <h3>Предложения Limit</h3>
89 <h3>Предложения Limit</h3>
90 <p>Limit используется для получения некоторого количества строк из больших информационных блоков. Данное предложение помогает ограничивать возвращаемые строки результирующего набора.</p>
90 <p>Limit используется для получения некоторого количества строк из больших информационных блоков. Данное предложение помогает ограничивать возвращаемые строки результирующего набора.</p>
91 <p>Limit позволяет передавать один или два аргумента. Во втором случае один из них будет смещением, задающим сдвиг первой возвращаемой строки. Соответствующий аргумент обязательно является или положительным, или нулевым.</p>
91 <p>Limit позволяет передавать один или два аргумента. Во втором случае один из них будет смещением, задающим сдвиг первой возвращаемой строки. Соответствующий аргумент обязательно является или положительным, или нулевым.</p>
92 <p>Если в запросе всего один аргумент, он является количеством строк:</p>
92 <p>Если в запросе всего один аргумент, он является количеством строк:</p>
93 <p>Этот фрагмент выводит на экран 10 строк из таблицы пользователей (users).</p>
93 <p>Этот фрагмент выводит на экран 10 строк из таблицы пользователей (users).</p>
94 <h2>Соединение в SQL</h2>
94 <h2>Соединение в SQL</h2>
95 <p>Соединение используется для получения информации из нескольких таблиц одновременно. Пример - даны таблички order и customer. Из них необходимо извлечь информацию. Для этого используется join.</p>
95 <p>Соединение используется для получения информации из нескольких таблиц одновременно. Пример - даны таблички order и customer. Из них необходимо извлечь информацию. Для этого используется join.</p>
96 <p>Соответствующая команда поддерживает следующие типы предложений:</p>
96 <p>Соответствующая команда поддерживает следующие типы предложений:</p>
97 <ol><li>Inner. Внутреннее объединение. Возвращает записи, значения которых совпадают в обеих таблицах.</li>
97 <ol><li>Inner. Внутреннее объединение. Возвращает записи, значения которых совпадают в обеих таблицах.</li>
98 <li>Cross. Перекрестное соединение. Выводит информацию, совпадающая в левой или правой таблице.</li>
98 <li>Cross. Перекрестное соединение. Выводит информацию, совпадающая в левой или правой таблице.</li>
99 <li>Left. Левое соединение. Используется для отображения данных select from левой таблицы, которые соответствуют значениям из правой.</li>
99 <li>Left. Левое соединение. Используется для отображения данных select from левой таблицы, которые соответствуют значениям из правой.</li>
100 <li>Right. Правое соединение. Возвращает данные из правой таблицы, которые встречаются в левой.</li>
100 <li>Right. Правое соединение. Возвращает данные из правой таблицы, которые встречаются в левой.</li>
101 </ol><p>Также есть ключевое слово Union. Оно объединяет результаты нескольких select-запросов в единую таблицу. Для этого у каждого Select from должно быть одно и то же количество столбцов с одинаковыми типами информации.</p>
101 </ol><p>Также есть ключевое слово Union. Оно объединяет результаты нескольких select-запросов в единую таблицу. Для этого у каждого Select from должно быть одно и то же количество столбцов с одинаковыми типами информации.</p>
102 <h3>Удаление дубликатов</h3>
102 <h3>Удаление дубликатов</h3>
103 <p>Для оптимизации таблиц в MySQL при использовании select from, необходимо задействовать предложение distinct. С его помощью удаляются значения-дубликаты из результирующего набора.</p>
103 <p>Для оптимизации таблиц в MySQL при использовании select from, необходимо задействовать предложение distinct. С его помощью удаляются значения-дубликаты из результирующего набора.</p>
104 <p>Здесь:</p>
104 <p>Здесь:</p>
105 <ol><li>Expressions - это столбцы или вычисления, которые хочется получить.</li>
105 <ol><li>Expressions - это столбцы или вычисления, которые хочется получить.</li>
106 <li>Tables - таблицы, с которыми осуществляется работа. Данный параметр не может отсутствовать. В перечислении from должна быть хотя бы одна таблица.</li>
106 <li>Tables - таблицы, с которыми осуществляется работа. Данный параметр не может отсутствовать. В перечислении from должна быть хотя бы одна таблица.</li>
107 <li>Where conditions - необязательный параметр. Указывает на условия, которые выполняются для выбранных записей.</li>
107 <li>Where conditions - необязательный параметр. Указывает на условия, которые выполняются для выбранных записей.</li>
108 </ol><p>Стоит обратить внимание на то, что при определении более одного expressions запрос будет получать уникальные комбинации для указанных столбцов/вычислений.</p>
108 </ol><p>Стоит обратить внимание на то, что при определении более одного expressions запрос будет получать уникальные комбинации для указанных столбцов/вычислений.</p>
109 <p>В MySQL distinct не игнорирует значения типа NULL. Он интерпретируется системой в качестве отдельного значения.</p>
109 <p>В MySQL distinct не игнорирует значения типа NULL. Он интерпретируется системой в качестве отдельного значения.</p>
110 <p>Вот примеры MySQL с Select from distinct для одного и нескольких expressions соответственно:</p>
110 <p>Вот примеры MySQL с Select from distinct для одного и нескольких expressions соответственно:</p>
111 <p>В первом случае команда вернет все уникальные параметры state из таблицы customers. Во втором произойдет возврат каждой уникальной комбинации полей city и state из customers. Distinct будет применяться к каждому столбцу, указанному после ключевого слова.</p>
111 <p>В первом случае команда вернет все уникальные параметры state из таблицы customers. Во втором произойдет возврат каждой уникальной комбинации полей city и state из customers. Distinct будет применяться к каждому столбцу, указанному после ключевого слова.</p>
112 <p><em>Прокачать <a>навыки работы с базами данных</a> можно на курсах Otus.</em></p>
112 <p><em>Прокачать <a>навыки работы с базами данных</a> можно на курсах Otus.</em></p>
113  
113