Мы продолжаем изучение основ SQL. В этой статье мы будем отбирать информацию из таблиц.
Оператор SELECT
Команда SELECT просто отображает базу данных, чтобы извлечь информацию из таблицы. Например, вы могли бы вывести таблицу. "Продавцов" напечатав следующее:
SELECT city, name, number
FROM TABLE_1;
Другими словами, эта команда просто выводит все данные из таблицы. Давайте разберем каждую часть этой команды:
- SELECT - ключевое слово, которое сообщает базе данных, что эта команда— запрос. Все запросы начинаются этим словом, сопровождаемым пробелом.
- city, name, number - это—список столбцов из таблицы которые выбираются запросом. Любые столбцы не перечисленные здесь не будут включены в вывод команды. Это, конечно, не значит, что они будут удалены или их информация будет стерта из таблиц, потому что запрос не воздействует на информацию в таблицах, он только показывает данные.
- FROM - Ключевое слово, подобно SELECT, которое должно быть представлено в каждом запросе. Оно сопровождается пробелом и затем именем таблицы используемой в качестве источника информации. В данном случае—это таблица TABLE_1.
- ; Точка с запятой используется во всех интерактивных командах SQL, чтобы сообщать базе данных что команда заполнена и готова выполниться. В некоторых системах наклонная черта влево(\)в строке, является индикатором конца команды.
Естественно, запрос такого характера не обязательно будет упорядочивать вывод любым указанным способом. Та же самая команда выполненная с теми же самыми данными, но в разное время не сможет вывести тот же самый порядок. Обычно, строки обнаруживаются в том порядке в котором они найдены в таблице. Это необязательно будет тот порядок, в котором данные вводились или сохранялись. Вы можете упорядочивать вывод командами SQL непосредственно, с помощью специального предложения.
Вы можете форматировать запрос как вам угодно.
SELECT city, name, number FROM TABLE_1;
С тех пор как SQL использует точку с запятой чтобы указывать конец команды, большинство программ SQL обрабатывают enter как пробел. И это хорошо подходит для того чтобы использовать перевод каретки и выравнивание что мы делали это ранее, чтобы сделать ваши команды более легкими для чтения.
Ищите самый простой способ
Если вы хотите видеть каждый столбец таблицы, имеется не обязательное сокращение которое вы можете использовать. Звездочка(*) может применяться для вывода полного списка столбцов следующим образом:
SELECT *
FROM TABLE_1;
Это приведет к тому же результату, что и наша предыдущая команда.
Описание Select
Команда SELECT начинается с ключевого слова SELECT, сопровождаемого пробелом. После этого должен следовать список имен столбцов, которые вы хотите видеть, отделенные запятыми. Если вы хотите видеть все столбцы таблицы, вы можете заменить этот список звездочкой(*). Ключевое слово FROM сопровождается пробелом и именем таблицы, запрос к которой делается. В заключение, точка с запятой (;) должна использоваться, чтобы закончить запрос и указать что команда готова к выполнению.
Просмотр определенных столбцов таблицы
Команда SELECT способна извлечь строго определенную информацию из таблицы. Мы можем предоставить возможность увидеть только определенные столбцы таблицы. Это выполняется легко, простым исключением столбцов которые вы не хотите видеть, из части команды SELECT. Например, запрос:
SELECT name, index
FROM TABLE_2;
Могут иметься таблицы, которые имеют большое количество столбцов, содержащих данные, не все из которых являются относящимися к поставленной задаче.
Следовательно, вы можете найти способ подбора и выбора только полезных для Вас столбцов.
Удаление повторяющихся строк
DISTINCT (ОТЛИЧИЕ) —аргумент, который обеспечивает Вас способом устранять двойные значения из вашего предложения SELECT.
Предположим что вы хотите знать, в каких городах находятся наши продавцы, для этого вы можете ввести команду:
SELECT city FROM TABLE_1;
Для получения списка без дубликатов, для удобочитаемости, вы можете ввести следующее:
SELECT DISTINCT number
FROM TABLE_1;
Другими словами, DISTINCT следит за тем, какие значения были ранее, так что бы они не были продублированы в списке. Это—полезный способ избежать избыточности данных, но важно чтобы при этом вы понимали что вы делаете. Если вы не хотите потерять некоторые данные, вы не должны безоглядно использовать DISTINCT, потому что это может скрыть какую-то проблему или какие-то важные данные.
Вместо DISTINCT, вы можете указать— ALL. Это будет иметь противоположный эффект, дублирование строк вывода сохранится. Так как это—тот же самый случай когда вы не указываете ни DISTINCT ни ALL, то ALL —по существу скорее пояснительный, а не действующий аргумент.
Отбор информации по условию
Таблицы имеют тенденцию становиться очень большими, поскольку с течением времени, все большее и большее количество строк в нее добавляется. Поскольку обычно из них только определенные строки интересуют вас в данное время, SQL дает возможность вам устанавливать критерии, чтобы определить, какие строки будут выбраны для вывода.
WHERE—предложение команды SELECT, которое позволяет вам устанавливать предикаты, условие которых может быть или верным или неверным для любой строки таблицы.
Команда извлекает только те строки из таблицы, для которых такое утверждение верно. Например, предположим вы хотите видеть имена всех продавцов в Лондоне. Вы можете ввести такую команду:
SELECT name, city
FROM TABLE_1
WHERE city = "LONDON";
Когда мы используем WHERE, программа базы данных просматривает всю таблицу по одной строке и проверяет каждую строку, чтобы определить верно ли утверждение.
Мы можем отбирать как по строковым, так и по числовым значениям.
Предложение WHERE совместимо с предыдущим материалом в этой статье. Другими словами, вы можете устранять дубликаты, пере упорядочивать столбцы в команде SELECT которая использует WHERE.
Подведём итог
Теперь вы знаете несколько способов заставить таблицу давать вам ту информацию, какую вы хотите, а не просто выбрасывать наружу все ее содержание. Вы можете пере упорядочивать столбцы таблицы или устранять любую из них. Вы можете решать, хотите вы видеть дублированные значения или нет.
Наиболее важно то, что вы можете устанавливать условие называемое предикатом, которое определяет или не определяет указанную строку таблицы из тысяч таких же строк, будет ли она выбрана для вывода.
Предикаты могут становиться очень сложными, предоставляя вам высокую точность в решении, какие строки вам выбирать с помощью запроса. Именно эта способность решать точно, что вы хотите видеть, делает запросы SQL такими мощными.
Если статья была Вам полезна, ставьте пальцы вверх и подписывайтесь. Оставляйте свои пожелания и вопросы в комментариях, с удовольствием отвечу.
#it #sql #обучение #курс