㈠ sql求助如何依据一个人名,查出他的主管,依据他的主管查出他的主管的主管,依次类推,
select a.name as xm,a.leader as zg1,b.leader as zg2,c.leader as zg3
from user a
left join user b on a.leader=b.name
left join user c on b.leader=c.name
where a.name=name1
㈡ SQL Server的四个查询语句,题目在内容里
select*from员工基本信息表where员工姓名like'张%'orderby入职日期desc
select*from员工基本信息表wheredatepart(month,出生日期)=datepart(month,dateadd(m,1,getdate()))
select部门编号,a.部门名称,b.人数from部门信息表ainnerjoin(
select员工所属部门,count(*)人数from员工信息表groupby员工所属部门)b
ona.部门名称=b.员工所属部门
orderby部门编号
update员工信息表set员工状态='离职'from(
select员工姓名,max(入职日期)最新入职日期from员工信息表groupby员工姓名havingcount(*)>1)a
where员工信息表.员工姓名=a.员工姓名and员工信息表.入职日期<>a.最新入职日期
你自己看看吧。闲来没事。哎。蛋疼。
㈢ 在sql数据库里的视图是什么意思,怎么理解
视图为原始数据库数据的一种变换,是查看表中数据的另外一种方式。可以将视图看成是一个移动的窗口,通过它可以看到感兴趣的数据。视图为从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。
视图的定义存在数据库中,与此定义相关的数据并没有再存一份于数据库中。通过视图看到的数据存放在基表中。
(3)sql主管可见查询扩展阅读
视图有很多优点,主要表现在:
1、视点集中
使用户只关心它感兴趣的某些特定数据和他们所负责的特定任务。这样通过只允许用户看到视图中所定义的数据而不是视图引用表中的数据而提高了数据的安全性。
2、简化操作
视图大大简化了用户对数据的操作。因为在定义视图时,若视图本身就是一个复杂查询的结果集,这样在每一次执行相同的查询时,不必重新写这些复杂的查询语句,只要一条简单的查询视图语句即可。可见视图向用户隐藏了表与表之间的复杂的连接操作。
3、定制数据
视图能够实现让不同的用户以不同的方式看到不同或相同的数据集。因此,当有许多不同水平的用户共用同一数据库时,这显得极为重要。
4、合并分割数据
在有些情况下,由于表中数据量太大,故在表的设计时常将表进行水平分割或垂直分割,但表的结构的变化却对应用程序产生不良的影响。如果使用视图就可以重新保持原有的结构关系,从而使外模式保持不变,原有的应用程序仍可以通过视图来重载数据。
5、安全性
视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据。其它数据库或表既不可见也不可以访问。如果某一用户想要访问视图的结果集,必须授予其访问权限。视图所引用表的访问权限与视图权限的设置互不影响。
㈣ sql语句联合查询 与 视图想比较的话,那个效率快,为什么。
sql效率比较快,存储过程的好处是不仅快且更安全,但移植性差。视图可以封装查询的复杂性,就像面向对象里类的概念一样。
㈤ 如何在SQL上查询到用友R9帐套主管密码
你想做什么坏事呀,主管帐套的你也想打开。就不给你。
㈥ sql查询问题
查询2009~2011连续三年 年在哪里?
select t1.*,t2.部门主管 from b t1,b t2 where t1.部门编号=t2.部门编号 where t1.部门编号 in
(select 部门编号 from a group by 部门编号 having sum(部门预算)>100)
㈦ Oracle SQL查询
给所有姓'白'的员工工资加500(6分)
㈧ 求解:写出SQL查询语句的基本结构,并说明结构中各子句表示的含义
语法
SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]}
FROM tableexpression [, ...] [IN externaldatabase]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]
SELECT 语句包含以下部分:
部分 说明
predicate 这些谓词之一:ALL、DISTINCT、DISTINCTROW 或 TOP。可以使用谓词来限定返回记录的数量。如果没有指定谓词,默认值为 ALL。
* 指定选择所指定的表的所有字段。
table 表的名称,该表包含了其记录被选择的字段。
field1,field2 字段名,这些字段包含了要检索的数据。如果包括多个字段,将按它们的排列顺序对其进行检索。
alias1, alias2 用作列标题的名称,不是 table 中的原始列名。
tableexpression 其中包含要检索的数据的表的名称。
externaldatabase 如果 tableexpression 中的表不在当前数据库中,则使用该参数指定该数据库名。
说明
若要执行此项操作,Microsoft�0�3 Jet 数据库引擎会搜索指定的表,并提取出选定的列,再选择出符合条件的列,然后按指定的顺序对得到的行进行排序或分组。
SELECT 语句不会更改数据库中的数据。
SELECT 通常是 SQL 语句中的第一个词。大多数 SQL 语句是 SELECT 或 SELECT...INTO 语句。
SELECT 语句最简化的语法为:
SELECT fields FROM table
可以通过星号 (*) 来选择表中所有的字段。以下的示例选择在 Employees 表中的所有字段:
SELECT * FROM Employees;
如果一个字段名包括于 FROM 子句内的多个表中,请在该字段前面加上表名和 .(圆点)号。在下面的示例中,Department 字段同时存在于 Employees 表和 Supervisors 表中。SQL 语句从 Employees 表中选择出部门并从 Supervisors 表中选择出主管名:
SELECT Employees.Department, Supervisors.SupvName
FROM Employees INNER JOIN Supervisors
WHERE Employees.Department = Supervisors.Department;
创建 Recordset 对象时,Microsoft Jet 数据库引擎将使用表的字段名作为 Recordset 对象中的 Field 对象名。如果需要一个不同的字段名或者名称不适合用来生成该字段的表达式,请使用 AS 保留字。下面的示例使用标题 Birth 来命名在所得到的 Recordset 对象中的返回 Field 对象:
SELECT BirthDate
AS Birth FROM Employees;
只要使用的聚合函数或查询返回的是不明确的或重复的 Field 对象名称,就必须使用 AS 子句为该 Field 对象另外提供一个替代名称。下面的示例使用标题 HeadCount 来命名在结果 Recordset 对象中的返回 Field 对象:
SELECT COUNT(EmployeeID)
AS HeadCount FROM Employees;
可以在 SELECT 语句中使用其他子句进一步约束和组织所返回的数据。有关详细信息,请参阅相应子句的帮助主题。
请参阅
ALL DISTINCT、DISTINCTROW、TOP 谓词 ORDER BY 子句 (Microsoft Jet SQL)
DELETE 语句 SELECT...INTO 语句
FROM 子句 SQL 聚合函数
GROUP BY 子句 UNION 操作
HAVING 子句 UPDATE 语句
IN 子句 WHERE 子句
INSERT INTO 语句 WITH OWNERACCESS OPTION 声明
㈨ 用sql语句查询年龄低于平均年龄的主管信息,显示编号,姓名,年龄,
select 编号,姓名,年龄 from 表 where 年龄 < (select average(年龄) from表)
㈩ SQL的核心操作为什么是数据查询
因为执行操作的最关键的是数据查询,SQL查询的基本原理:两种情况介绍。
第一、单表查询:根据WHERE条件过滤表中的记录,形成中间表(这个中间表对用户是不可见的);然后根据SELECT的选择列选择相应的列进行返回最终结果。
第二、两表连接查询:对两表求积(笛卡尔积
)并用ON条件和连接连接类型进行过滤形成中间表;然后根据WHERE条件过滤中间表的记录,并根据SELECT指定的列返回查询结果。
第三、多表连接查询:先对第一个和第二个表按照两表连接做查询,然后用查询结果和第三个表做连接查询,以此类推,直到所有的表都连接上为止,最终形成一个中间的结果表,然后根据WHERE条件过滤中间表的记录,并根据SELECT指定的列返回查询结果。
理解SQL查询的过程是进行SQL优化的理论依据。
ON后面的条件(ON条件)和WHERE条件的区别:
ON条件:是过滤两个链接表笛卡尔积形成中间表的约束条件。
WHERE条件:在有ON条件的SELECT语句中是过滤中间表的约束条件。在没有ON的单表查询中,是限制物理表或者中间查询结果返回记录的约束。在两表或多表连接中是限制连接形成最终中间表的返回结果的约束。
从这里可以看出,将WHERE条件移入ON后面是不恰当的。推荐的做法是:
ON只进行连接操作,WHERE只过滤中间表的记录。