В чем суть отличия двух SQL запросов?
Не могу понять почему эти два запроса работают поразному?
1.SELECT status, member_name , sum(Payments.amount*Payments.unit_price) as costs
from FamilyMembers
join Payments on FamilyMembers.member_id = Payments.family_member
join Goods on Payments.good = Goods.good_id
join GoodTypes on Goods.good_id = good_type_id
where GoodTypes.good_type_name = 'entertainment'
group by FamilyMembers.status, FamilyMembers.member_name
Второй запрос
SELECT fm.status, fm.member_name, SUM(p.amount*p.unit_price) AS costs
FROM FamilyMembers AS fm
JOIN Payments AS p
ON fm.member_id=p.family_member
JOIN Goods AS g
ON p.good=g.good_id
JOIN GoodTypes AS gt
ON g.type=gt.good_type_id
WHERE good_type_name = 'entertainment'
GROUP BY fm.status, fm.member_name;
Дополнительно:
А какой результат в первом и во втором случае?
join GoodTypes on Goods.good_id = good_type_id
JOIN GoodTypes AS gt ON g.type = gt.good_type_id
- спасибо, не заметил этой ошибки
Ответы:
Автор да ты издеваешся наверное? Ты можешь взять в среде разработки и
открыв два файла просто посмотреть difference и среда подсвечивает в чем различия.
И приведи к одинаковому case символы и отформатируй. Всё будет видно.
- Автору лень один из запросов привести в один стиль написания псевдонимов. IDE не поможет.
- Зачем, если за него это сделает хабр? Пока будут отвечать на мусорные вопросы, они будут продолжать появляться.
- alexalexes, я самостоятельно прокачиваю свой SQL на одном из бесплатных сервисов, конечно подглядываю в интернет за ответами. И не мог понять чем мой запрос отличается от интернетовского, если не применять псевдонимы. Оказалось я не правильно соединил таблицы по невнимательности,.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
SQL (Structured Query Language) - это язык программирования, используемый для работы с базами данных. Существует два основных типа SQL запросов: SELECT и INSERT.
SELECT запрос используется для извлечения данных из базы данных. Пример:
SELECT * FROM users WHERE age > 18;
Этот запрос выберет всех пользователей старше 18 лет из таблицы "users".
INSERT запрос используется для добавления новых данных в базу данных. Пример:
INSERT INTO users (name, age) VALUES ('John', 25);
Этот запрос добавит нового пользователя с именем "John" и возрастом 25 лет в таблицу "users".
Таким образом, основное отличие между SELECT и INSERT запросами заключается в их целях: SELECT используется для выборки данных, а INSERT для добавления новых данных. Кроме того, SELECT запросы могут быть использованы для обновления и удаления данных, а INSERT для вставки новых записей.