你可以帮我查一个显示如下表格的查询:
Dept_ID Dept_Name 10 Admin 10 Whalen 20 Sales 20 James 20 King 20 Smith 40 Marketing 40 Neena
依此类推......架构是HR
显示部门ID和部门名称,然后显示在该部门下工作的后续员工姓氏
答案 0 :(得分:1)
SELECT Dept_ID, Dept_Name
FROM Your_Table
我可以做到这一点很简单。如果没有关于表结构和一些示例数据的更多细节,确切地说出查询应该是什么非常困难(几乎不可能)。
从您的编辑中,您可能需要更多类似的内容;
SELECT DT.Dept_ID, DT.Dept_Name, ET.Emp_Name
FROM Dept_Table AS DT INNER JOIN Emp_Table AS ET ON DT.Dept_ID = ET.Dept_ID
ORDER BY Dept_ID
这显示了下一栏中每个部门的员工,您并不是真的希望同一列中的所有员工。
答案 1 :(得分:0)
假设您的数据库中有一个名为departments
的表,其中包含此信息,您的代码可能如下所示:
select
dept_id, dept_name
from
departments
答案 2 :(得分:0)
如果您想显示表格的某些列,就像上面问题中提到的那样,您可以使用以下语法:
从table_name中选择column_names
替换:
column_names,其中要显示的列名以逗号分隔 2.table_name,其中包含要显示其列的表的名称
对于上述问题,以下代码将执行:
从部门选择Dept_Id,Dept_Name;
如果您的表名是' Department'
,则上述代码有效答案 3 :(得分:0)
当您合并两个数据集时,没有隐式排序,您可以按任何顺序获得结果。
获取必须使用ORDER BY
的特定订单。
要使用ORDER BY
,您必须有字段来执行此排序。
在您的情况下,伪代码将是...
- ORDER BY [dept_id], [depts-then-employees], [dept_name]
这三者的中间部分是你必须创造的东西。
这样做的一种方法如下。
注意 :仅仅因为您有一个要订购的字段,并不意味着您必须选择它。
SELECT
dept_id,
dept_name
FROM
(
SELECT
d.dept_id,
d.dept_name,
0 AS entity_type_ordinal
FROM
department d
UNION ALL
SELECT
d.dept_id,
e.employee_name,
1 AS entity_type_ordinal
FROM
department d
INNER JOIN
employee e
ON e.dept_id = d.dept_id
)
dept_and_emp
ORDER BY
dept_id,
entity_type_ordinal,
dept_name