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>При несовпадении значений условие должно включать в себя оператор неравенства (<>). С его помощью происходит извлечение данных на основе условия, которое не совпадает.</p>
67
<p>При несовпадении значений условие должно включать в себя оператор неравенства (<>). С его помощью происходит извлечение данных на основе условия, которое не совпадает.</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 иногда необходимо сравнивать значения. Оператор больше (>) отвечает за проверку значения левого поля. С его помощью система выясняет, больше ли оно правого. Если да, написанное условие будет выполнено.</p>
70
<p>При использовании selected from where иногда необходимо сравнивать значения. Оператор больше (>) отвечает за проверку значения левого поля. С его помощью система выясняет, больше ли оно правого. Если да, написанное условие будет выполнено.</p>
71
<p>Оператор меньше (<) проверяет, меньше ли значение левого поля в выражении from where, чем правого. Допускается одновременное использование соответствующих условий (>/<). В соответствующей ситуации равенство проверяется совместно.</p>
71
<p>Оператор меньше (<) проверяет, меньше ли значение левого поля в выражении from where, чем правого. Допускается одновременное использование соответствующих условий (>/<). В соответствующей ситуации равенство проверяется совместно.</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