Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #75, МАРТ 2005 г.

Качай мускулы

Степан Ильин aka Step

Хакер, номер #075, стр. 075-028-2


Возникает вопрос: обязательно ли вводить идентификационный номер? Почему бы не ссылаться на фамилию заказчика или, что еще проще, на номер строки таблицы «Покупатели»? Первое отпадает сразу – ведь нельзя на 100% точно исключить возможность совпадения ФИО заказчиков. Нынче даже полные тезки не редкость, чего уж тут говорить об однофамильцах. Поле, по которому производится ссылка, должно быть на 100% уникальным. В умных книжках его называют первичным ключом, запомни это. Что же касается ссылки по номеру строки, то и она абсолютно неприемлема. Здесь дело в специфике таблицы: порядок строк в ней строго произволен. И так как в любой момент ее можно упорядочить по любому из полей, то подобная ссылка теряет всяческий смысл. Хотя нельзя не отметить то, что столбцы (поля) напротив имеют вполне определенную нумерацию.

В запросах сила, брат

SQL первоначально задумывался и разрабатывался исключительно как язык составления запросов, что неоспоримо следует из его названия. Поэтому нет ничего удивительного в том, что SQL-запросы сейчас являются наиболее используемой и актуальной функцией SQL. Для нас, разумеется, она также представляет наибольший интерес. Поэтому ей мы и уделим внимание, а другие менее востребованные особенности языка оставим тебе на самостоятельное освоение.

Что вообще представляет собой запрос? Запрос — это команда, которая передается системе управления БД и сообщает необходимость выборки определенной информации. Помимо этого, в теле запроса содержатся все необходимые инструкции, на основании которых СУБД понимает, где и как нужно производить поиск. Как правило, результат запроса возвращается на экран компьютера. Хотя с не меньшим успехом он может быть сохранен в файл или передан в качестве исходных данных для другой команды или сторонней программы.

В самом простом случае команда SELECT («Выбрать») имеет следующий синтаксис:

SELECT <поля для вывода> FROM <имя таблицы>

К примеру, для получения имен и фамилий заказчиков из таблицы «Покупатели» достаточно отправить на сервер следующую команду: SELECT FirstName,LastName FROM customers.

Все запросы начинаются со служебного слова SELECT. Его нельзя опускать. Именно оно указывает СУБД, что переданная команда является запросом на выборку, а не чем-либо еще. Сразу хочется заметить, что выборка вовсе не обозначает удаление из таблицы. Нужно понять, что запрос не воздействует на информацию из таблицы, а только отображает ее. Получив запрос, сервер открывает нужные таблицы и последовательно начинает искать в них записи, подходящие под заданные критерии, после чего возвращает результат.

Назад на стр. 075-028-1  Содержание  Вперед на стр. 075-028-3