SQL的问题,高分在线等答案,答对了再追加分

一、单表查询1.查询全体学生的学号,姓名,性别CREATEVIEWCA_authors(au_lname,au_fname,phone,city)ASselectau_l... 一、单表查询
1.查询全体学生的学号,姓名,性别CREATE VIEW CA_authors(au_lname,au_fname,phone,city) AS
select au_lname,au_fname,phone,city from authors
2.查询年龄在20-25岁之间的学生的姓名,性别,年龄
3.查询姓名中第2个字为明字的学生的姓名和学号
4.查询选修了301号课程的学生的学号,成绩,查询结果按分数的绛序排列
5.查询选修了课程的学生人数

二、多表查询
1.查询选修了课程的学生的情况(包括姓名,课程名和成绩)
2.查询选修了301号课程且成绩在90分以上的所有学生的姓名
3.查询每个学生的学号,姓名,选修的课程名和成绩(左外连接)
4.查询所有选修了301号课程的学生姓名

1.某班级的学生成绩表包含 “学号”列、 “课程代号”列、 “成绩”列、 “学期号”列,请统计学期号为“第三学期”的每个学生所有科目的平均成绩

2.在SQL Server 2005数据库中创建了如下的一些表:
CREATE TABLE 部门表
( 部门号 char(2) not null PRIMARY KEY,
部门名称 varchar(30) not null
)
CREATE TABLE 雇员表
( 雇员代号 char(4) not null PRIMARY KEY,
雇员姓名 varchar(20) not null
)
CREATE TABLE 任职表
( 雇员代号 char(4) not null,
部门号 char(2) not null,
开始时间 datetime not null,
备注 varchar(1000) null,
CONSTRAINT PK_Works PRIMARY KEY(雇员代号,部门号, 开始时间),
CONSTRAINT FK_Employees FOREIGN KEY (雇员代号)
REFERENCES 雇员表(雇员代号) ON DELETE CASCADE,
CONSTRAINT FK_Departments FOREIGN KEY (部门号)
REFERENCES 部门表(部门号)
)
现在,人事经理需要获得在每个部门都工作过的雇员的名单,请写出带有子查询的SQL语句来完成改任务。

3.小王是一位健康护理计划的数据库管理员。使用下面语句创建physicians表:
CREATE TABLE dbo.physicians (
physician_no int IDENTITY (100, 2) NOT NULL ,
f_name varchar (25) NOT NULL ,
l_name varchar (25) NOT NULL ,
street varchar (50) NULL ,
city varchar (255) NULL ,
state varchar (255) NULL ,
postal_code varchar (7) NULL ,
co_pay money NOT NULL CONSTRAINT phys_co_pay DEFAULT (10)
)
(1)如何检索在纽约州(NY)、华盛顿州(WA)、弗吉尼亚州(VA)或加利
福尼亚州(CA)实习的医生信息?
(2)在结果集中,如何产生一个没有重复州的列表?
(3)在结果集中,如何产生一个列,它包含co_pay值加每位医生5.00美元的

请给出答题的序号,我在线等答案
前面的问题已经解决,现在只需要做,2,3题,就是看起来字很多的2,3题哦,来挑战下吧
展开
 我来答
charlif
2008-12-12 · TA获得超过231个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:0
展开全部
2、查询出任职的部门总数等于部门的总数,就是都工作过的。
select a.* from 雇员表 a join 任职表 b on a.雇员代号 = b.雇员代号
group by a.雇员代号,a.雇员姓名
having count(b.部门号) = (select Count(*) from 部门表)

3
select * from physicians where state in ('纽约州(NY)','华盛顿州(WA)','弗吉尼亚州(VA)','加利福尼亚州(CA)')

select distinct state from physicians

select co_pay+5 as co_pay from physicians
cool_hnu
2008-12-12 · TA获得超过652个赞
知道小有建树答主
回答量:530
采纳率:100%
帮助的人:0
展开全部
2:select 雇员代号 雇员姓名 from 雇员表
where 雇员代号 in (select 雇员代号 from 任职表
where 雇员代号 in
(select 雇员代号 from (select 雇员代号,count(部门号)as c from (select distinct 雇员代号,部门号 from 任职表 ) as a
group by 雇员代号) as b
where b.c=(select count(部门号) from 部门表)))
3:(1)select f_name,i_name,street ,city,state,postal_code,co_pay money from physicians where city in
('NY','WA','VA','CA')
(2)select distinct city from (select f_name,i_name,street ,city,state,postal_code,co_pay money from physicians where city in
('NY','WA','VA','CA'))as a
(3)select cast(co_pay as varchar(24))+f_name+i_name+cast(5.00 as varchar(6))+'美元' from (select f_name,i_name,street ,city,state,postal_code,co_pay money from physicians where city in
('NY','WA','VA','CA')
) as a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奇奇呀齐齐
2008-12-10 · TA获得超过196个赞
知道小有建树答主
回答量:611
采纳率:33%
帮助的人:174万
展开全部
先要知道指定列名,例如user里的内容的长度
and (select len(user) from admin)=2 就是查询长度为不为2位,返回错误的增加或减少数字,一般这个数字不会太大,太大的就要放弃了,猜也多余.
n就是猜解的表名的第几位,最后的长度数字就是刚才猜解出来的列名长度了,And (Select top 1 asc(mid(user,1,1)) from admin)>100 就是猜解user里内容的第一位的ASCLL字符是不是大于100
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sweety1203
2008-12-12
知道答主
回答量:60
采纳率:0%
帮助的人:17.7万
展开全部
2.Select * from 雇员表
Where 雇员代号 in
(select 雇员代号
From 任职表
Group by 雇员代号
Having count(部门号)=select count(部门号) from 部门表 group by 部门号
)

3.(1) Select * from physicians where city in (‘纽约州(NY)','华盛顿州(WA)','弗吉尼亚州(VA)','加利福尼亚州(CA)')

(2)Select distinct city from Select * from physicians where city in (‘纽约州(NY)','华盛顿州(WA)','弗吉尼亚州(VA)','加利福尼亚州(CA)') as A
(3) 没明白题意~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友efae51f
2008-12-10 · TA获得超过2221个赞
知道大有可为答主
回答量:6916
采纳率:0%
帮助的人:2961万
展开全部
没有难度
一百分够了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dfaa21593
2008-12-11 · TA获得超过424个赞
知道答主
回答量:449
采纳率:0%
帮助的人:0
展开全部
没有找到答案hi我,太多了,不知道写出来能不能得到分;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式