以下示例 table 的查询是什么?
What would the query be for the following sample table?
你能帮我做一个显示 table 这样的查询吗:
Dept_ID Dept_Name
10 Admin
10 Whalen
20 Sales
20 James
20 King
20 Smith
40 Marketing
40 Neena
等等...模式是 HR
显示部门编号和部门名称,然后显示在该部门工作的后续员工姓氏
SELECT Dept_ID, Dept_Name
FROM Your_Table
尽可能简单。如果没有关于您的 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
这会在下一列显示每个部门的员工,您并不真的希望所有这些都在同一列中。
假设您的数据库中有一个名为 departments
的 table 保存此信息,您的代码可能如下所示:
select
dept_id, dept_name
from
departments
如果您想显示 table 的某些列,就像您在上面的问题中所问的那样,您可以使用以下语法:
select column_names from table_name
替换:
column_names 用逗号分隔要显示的列名
2.table_name 以及您希望显示的 table 列的名称
对于上面的问题,下面的代码就可以了:
select Dept_Id , Dept_Name from Department ;
如果您的 table 名称是 'Department'
,则以上代码有效
合并两个数据集时,没有隐式排序,您可以按任何顺序获得结果。
要获取特定订单,您必须使用ORDER BY
。
要使用 ORDER BY
,那么您必须 有字段来进行排序。
在您的情况下,伪代码将是...
- ORDER BY [dept_id], [depts-then-employees], [dept_name]
这三者的中间部分是您必须创建的东西。
一种方法如下。
注意:仅仅因为你有一个字段可以排序,并不意味着你必须select它.
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
你能帮我做一个显示 table 这样的查询吗:
Dept_ID Dept_Name 10 Admin 10 Whalen 20 Sales 20 James 20 King 20 Smith 40 Marketing 40 Neena
等等...模式是 HR
显示部门编号和部门名称,然后显示在该部门工作的后续员工姓氏
SELECT Dept_ID, Dept_Name
FROM Your_Table
尽可能简单。如果没有关于您的 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
这会在下一列显示每个部门的员工,您并不真的希望所有这些都在同一列中。
假设您的数据库中有一个名为 departments
的 table 保存此信息,您的代码可能如下所示:
select
dept_id, dept_name
from
departments
如果您想显示 table 的某些列,就像您在上面的问题中所问的那样,您可以使用以下语法:
select column_names from table_name
替换:
column_names 用逗号分隔要显示的列名 2.table_name 以及您希望显示的 table 列的名称
对于上面的问题,下面的代码就可以了:
select Dept_Id , Dept_Name from Department ;
如果您的 table 名称是 'Department'
,则以上代码有效合并两个数据集时,没有隐式排序,您可以按任何顺序获得结果。
要获取特定订单,您必须使用ORDER BY
。
要使用 ORDER BY
,那么您必须 有字段来进行排序。
在您的情况下,伪代码将是...
- ORDER BY [dept_id], [depts-then-employees], [dept_name]
这三者的中间部分是您必须创建的东西。
一种方法如下。
注意:仅仅因为你有一个字段可以排序,并不意味着你必须select它.
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