17.5. 5. MYSQL

1. Что такое реляционная база данных?

2. Что такое первичный ключ?

3. Что такое нормализация и денормализация?

4. Что такое mysql_pconnect? Чем он отличается от mysql_connect?

5. Что такое MyISAM и InnoDB?

6. Чем они отличаются?

7. Что такое SQL-инъекция?

8. Есть две таблицы:

users - таблица с пользователями (users_id, name)

orders - таблица с заказами (orders_id, users_id, status)

1) Выбрать всех пользователей из таблицы users, у которых ВСЕ записи в таб-

лице orders имеют status = 0

2) Выбрать всех пользователей из таблицы users, у которых больше 5 запи-

сей в таблице orders имеют status = 1

9. Какая разница между LEFT, RIGHT и INNER JOIN?

10. Чем отличается WHERE от HAVING?

11. Что можешь сказать про команду GROUP BY?

12. Приведи пример использования GROUP BY.

13. Допустим, у тебя есть Интернет-магазин. Составь запрос, который покажет

сколько денег принес каждый отдельно взятый покупатель в общей сложнос-

ти за всё время существования магазина.

14. А теперь пусть этот же запрос показывает только тех, кто купил товаров в

общей сложности минимум на 10 тысяч евро.

15. Что делает команда EXPLAIN?

16. Как вывести все поля из таблицы my_table?

17. Как вывести из таблицы my_table только поля name_first, name_last, salary

18. Таблице my_table задать псевдоним t и вывести всех, у кого salary

выше 3800

19. Выбрать страны, из которых поставляют продукцию производители, так,

чтобы страны не повторялись по 2 и более раз.

20. Вывести всех канских производителей.

21. Вывести только тех производителей, которые находятся во Минске

и Донецке.

22. Вывести все модели автобусов ЛАЗ, вместимостью не менее 15 пассажи-

ров.

23. Вывести все автобусы в порядке возрастания количества мест.

24. Вывести все автобусы в порядке уменьшения количества мест.

25. Какие знаешь команды для подсчета значений поля?

26. Предположим, у нас есть таблица в которой есть поля name и id. Нужно

вывести имя с наибольшим id, не используя при этом команду MAX. Как это

можно сделать?

27. С помощью конструкции IN вывести производителей из Украины, Герма-

нии и США.

28. Вывести всех производителей за исключением тех, которые находятся в

Китае, Таджикистане и России.

29. Вывести пустые / не пустые значения.

пустые:

30. Вывести только те автобусы, названия которых начинаются на букву M.

31. Мы не помним как точно пишется “Mercedes“ или “Mersedes“, но нужно из

таблицы выбрать автобусы именно этой марки. Как быть?

32. Выбрать только те автобусы, цена которых лежит в пределах от 100000

до 180000 долларов включительно.

33. Подсчитать количество автобусов в таблице, у которых 45 мест.

34. Приведи пример вложенного запроса.

35. Можно ли выбрать данные из нескольких таблиц?

36. Обязательно ли писать команды прописными буквами? Сработает ли за-

прос, если его написать строчными буквами?

37. А будет ли работать такой запрос: SELECT city

                                               

FROM

customers?

38. Что выберет такой запрос: SELECT brand FROM buses WHERE brand REGEXP

‘lvo|ool‘ ?

39. У нас есть таблица usa, в которой есть колонка city с названиями городов и колонка state, с названиями штатов. Нужно вывести новую колонку new_column, которая будет содержать название города и через запятую название штата, в котором находится этот город.

40. Есть таблица one, к ней нужно добавить таблицу two, которая содержит

такие же поля (id, name, seller, price). Как это сделать?