Как мне использовать предложение sql where и from?

#sql #sql-server

#sql #sql-сервер

Вопрос:

Итак, это вопрос.

Менеджеру в отделе кадров нужен список руководителей отделов, их зарплаты. В запросе должны отображаться название отдела, имя и фамилия (объединить столбцы имен в один столбец) и значения столбца зарплаты. Назовите столбцы в таблице результатов следующим образом: отдел, менеджер и зарплата. Отсортируйте таблицу результатов по зарплате. Используйте предложение WHERE для объединения таблиц. Используйте команды ФОРМАТИРОВАНИЯ столбцов для создания списка, который легко помещается на одной странице.

И это то, что у меня есть для этого до сих пор

 SELECT FirstName||' '||LastName "Manager" FROM  Employee
SELECT LastName "Last Name", FirstName "First Name", 
DepartmentName "Department Name", Salary "Salary" 
FROM Employee, Department
WHERE Employee.DepartmentNumber = Department.DepartmentNumber
  

Я знаю, что это неправильно, но я не могу понять, как сделать это по-другому

Я также борюсь с другим вопросом, а это

Перепишите запрос для приведенного выше вопроса, используя предложение FROM для объединения таблиц.

Пока у меня есть это, но я не уверен, как выполнить часть объединения.

 SELECT LastName "Last Name", FirstName "First Name",
DepartmentName "Department Name", Salary "Salary"
FROM Employee e JOIN Department d 
ON (e.DepartmentNumber = d.DepartmentNumber);
  

Спасибо за любую помощь

Комментарии:

1. SQL Server не соответствует стандарту SQL в отношении конкатенации строк. Вы должны использовать вместо || there

Ответ №1:

Для объединения строк в SQL SERVER вам необходимо использовать operator

 SELECT FirstName ' ' LastName as  [First Name],
DepartmentName [Department Name], Salary 
FROM Employee e JOIN Department d 
ON (e.DepartmentNumber = d.DepartmentNumber)
Order by Salary
  

Если вы используете SQL SERVER 2012 , то используйте CONCAT функцию

 CONCAT(FirstName,' ',LastName) as  [First Name]
  

Примечание: Использование Where предложения для объединения двух таблиц является старым стилем и не рекомендуется всегда использовать явный INNER JOIN синтаксис