ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

  << Предыдущий пост       Следующий пост >>  
От: inbruk
15. июня 2013 18:32

mysql

Продолжаю размещать переводы с англоязычного сайта www.techinterviews.com, посвященного вопросам на собеседовании для программистов. Ответы приведены такие же как на исходном сайте.

Что такое DDL, DML and DCL?
Как вы видете существует большое разнообразие SQL комманд. Для удобства работы их можно разделить на 3 большие подгруппы. Data Definition Language (DDL) это команды, которые имеют дело с схемами БД и описанием того как данные должны размещаться в БД. Такие выражения языка как CREATE TABLE или ALTER TABLE принадлежат DDL. Data manipulation language (DML) имеет дело с манипуляцией данными и включает наиболее общие выражения языка, такие как SELECT, INSERT, UPDATE и т.п. Data Control Language (DCL) включает такие команды как GRANT, которые в основном касаются прав, разрешений и другого контроля над БД.

Как бы вы получили количество строк выдаваемых запросом ?
Запрос
SELECT COUNT (user_id) FROM users
вернет только количество user_id-ов.

Если значение колонки повторяется, как вы найдете уникальные значения ?
Использование DISTINCT в запросе вам поможет. Тогда запрос будет таким:
SELECT DISTINCT user_firstname FROM users;
Вы можете также найти количество уникальных значений в колонке таким запросом:
SELECT COUNT (DISTINCT user_firstname) FROM users;

Как вернуть сотню книг начиная с 25-ой ?
SELECT book_title FROM books LIMIT 25, 100
Первое значение команды LIMIT это смещение, а второе количество.

Вы написали поисковый движок, который возвращает, по 10 значений за раз, в то же время вам хочется узнать сколько строк всего. Как это вывести вашему пользователю ?
SELECT SQL_CALC_FOUND_ROWS page_title FROM web_pages LIMIT 1,10;
SELECT FOUND_ROWS();
Второй запрос (никогда не используйте в таком случае COUNT()) скажет вам как много результатов всего, так что вы можете показать фразу "Найдено 13,450,600 результатов, показаны 1-10" Запомните, что FOUND_ROWS не обращает внимание на ваши LIMIT выражения и всегда возвращает полное число строк обработанных запросом.

Как бы вы написали запрос выборки всех команд выигравших 2, 4, 6 или 8 игр ?
SELECT team_name FROM teams WHERE team_won IN (2, 4, 6, 8)


Как бы вы получили всех пользователей у которых номер телефона NULL ?
SELECT user_name FROM users WHERE ISNULL(user_phonenumber)


Что значит следующий запрос: SELECT user_name, user_isp FROM users LEFT JOIN isps USING (user_id) ?
Он эквивалентен такому запросу: SELECT user_name, user_isp FROM users LEFT JOIN isps WHERE users.user_id=isps.user_id


Как узнать какой авто инкремент был использован при последнем INSERT-е ?
SELECT LAST_INSERT_ID()
- запрос вернет значение назначенное функции auto_increment. Помните, что вы не должны указывать имя таблицы.

А если вам надоело учиться, то покатайтесь со своими детьми на роликах. Здесь можно заказать детские ролики в Украине.

Похожие записи


Вопросы на собеседовании C#, Net, ASP.NET, SQL
Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял. 23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют? 2...

Способы заработка на сайте
На этом блоге было много постов про производство и раскрутку сайтов. Но пока не было про заработок на них. Пора исправить этот недочет. Здесь будут описаны по возможности не фантастичные, и не супер низко прибыльные способы. Также упор будет сделан именно на организацию процесса, а не технических деталях, которых в обилии в интернете. Несмотря на то, что как пр...

Silverlight, HTML5 и непрозрачная стратегия развития Microsoft
Оригинал статьи взят отсюда: Silverlight, HTML5 и непрозрачная стратегия развития Microsoft Автор: Peter Bright Переводчик: Mairon     По непонятным мне на данный момент причинам, похоже, что многие разработчики, присутствовавшие на недавней конференции PDC-2010 (Крупнейшая конференция Microsoft для разработчиков — Прим. переводчика), были сильн...

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий