A. 查询同一个员工表中工资相同的员工的详细信息的sql语句怎么写
select * from emp e where (select count (*) from emp where sal=e.sal ) >1;我也是个新手,不能保证正确,你试试。不行就在e.sal后面group by sal
B. sql的查询语句
都是最基本的sql语句,先把创建表的给你。后面的太多了,有空再写。
(一)
1.
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Dept]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Dept]
GO
CREATE TABLE [dbo].[Dept] (
[Dno] [Char] (4)NOT NULL primary key,
[Ename] [char] (20) NOT NULL ,
[Dnum ] [int] check(Dnum >=0)
UNIQUE (Ename)
) ON [PRIMARY]
GO
2.
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Employee]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Employee]
GO
CREATE TABLE [dbo].[Employee] (
[Eno] [Char] (6)NOT NULL primary key,
[Dname] [char] (16) NOT NULL ,
[Esex ] [char](1) CHECK(Esex='F' OR Esex='M'),
[Eage] [Smallint] check(Dnum >=0),
[Esalary] [Money](1) check(Smallint >=16 and Smallint<=60),
[Ety] [char](15) DEFAULT'助教'),
[Dno] [char](4) FOREIGN KEY (Dno) REFERENCES Dept(Dno)
) ON [PRIMARY]
GO
C. 用sql语句查询每个部门中担任相同职务的人数
楼上错了
是group by
order by是按字段排序,group by是按字段分类(分组)
应该是
select 部门,职务,count(*)from 表 group by 部门,职务
如果要结果好看点,再在末尾加个order by 部门
select 部门,职务,count(*)from 表 group by 部门,职务 order by 部门
这样最后显示的结果就是
部门 职务 个数(同部门不同职务)
同一个部门的会显示在一块,不同的职务,当职务的员工个数。
D. 怎样用SQL语句查询xx部门的人员信息
就是个简单的条件查询语句啊,select * from 表名 where 部门名=xx部门名;
*就表示部门表中的所有信息,where就是条件,当部门的名称是xx的时候,就挑选出来,其他的不是的,就不显示。
E. 查询同部门某个员工信息SQL语句
select * from dept_info
where dept = '部门名称'
and employno = '123'
F. 求大神写点SQL语句,简单一个存储过程,根据部门输出员工编号,员工姓名, 工资,职务,工龄就可以。
--编写程序以显示各部门名称和该部门包含的员工姓名。要求使用显式的循环游标实现。
--1.还记得怎么打印九九乘法表吗?还知道什么是嵌套for循环吗?还记得外循环一次,内循环循环多次吗?
--2.用两个for来使用游标取值,先取部门表中的部门编号和部门名称的值,然后用取出来的部门编号的值在员工表中当where条件后面的条件来取同一部门下的所有的员工信息
--3.游标:首先声明两个游标,一个游标操作部门表的数据,一个游标来操作员工表的数据
declare
cursor c1 is select deptno,dname from dept;--这个游标保存的是部门编号和部门名称
cursor c2(no number) is select ename from emp where deptno=no;--这个是带有部门编号的参数游标,保存的是同一部门下面所有的员工姓名
begin
for d1 in c1 loop --d1:是for循环自带的特点:允许用户自己任意输入的行变量的名字,而不用写行变量的声明,for循环自己会定义 in:是关键字 c1:是游标
dbms_output.put_line('部门编号: '||d1.deptno || '部门名称: '||d1.dname );--取值:行变量.列名
for e1 in c2(d1.deptno) loop --e1:是for循环自带的特点:允许用户自己任意输入的行变量的名字,而不用写行变量的声明,for循环自己会定义 in:是关键字 c2:是带参数的游标
--还记得调用一个带参数的方法,它的参数是可以直接在那个方法中直接使用,而不需要再定义的吗?
dbms_output.put_line('员工' || c2%rowcount ||'的名字: ' || e1.ename);
end loop ;
end loop ;
end ;
G. 用sql语句实现'查询各部门名称和该部门员工数'
具体语句如下:
H. 关于员工详细信息sql的查询语句
sql server 的写法,参考下:
select b.departname,c.departname,a.username from usertable a
left join departtable b on a.departid=b.departid
left join departtable c on c.parentID=b.departid
这样查有可能出现的情况是 同一个人 出现在同一部门的多个科室,但不一定,因为不知道你部门表的数据结构是怎么的,初步就是这个方法。
I. 查询出每个部门的人员总数,sql语句怎么写
sql 使用sum 与 group by
可以统计每个部门的总人数
sum统计总人数 group by根据部门分组
例子
id departmentname number
1 技术 10
2 技术 3
3 销售 50
sql语句
select departmentname ,sum(number)number from table group by departmentname ;
结果
departmentname number
技术 13
销售 50