请教各位大侠sql问题

一、要求:将本题的每步操作的SQL语句输入到windows的记事本,并保存在m:\sql001目录下面。文件名为MySql.txt。考试机器上已经安装好了sql2000,... 一、
要求:将本题的每步操作的SQL语句输入到windows的记事本,并保存在m:\sql001目录下面。文件名为MySql.txt。考试机器上已经安装好了sql2000,请执行自己所写sqL语句,看是否正确无误。
首先打开“SQL企业管理器”,然后打开其中的pubs数据库,对下面的表格进行操作,
1、 在authors表中查找“Smith”的作者姓,并显示他们所在的城市名。
2、 在authors表中找出住在“CA”州的姓“White”的作者名,并显示他们的州名。
3、 在authors表中找出编号第五六位是“80”的作者的姓名,并显示他们的作者编号。
4、 在titles表中检索出书价大于15元的书名及其价格。
5、 把pubs数据库转换为Access数据库。并保存为myAccess.mdb, 放在m:\sql001目录下面
原语句:
1、SELECT au_lname, city FROM authors WHERE (au_lname = 'Smith')
2、SELECT au_fname, state FROM authors WHERE (state = 'CA') AND (au_lname = 'White')
3、SELECT au_fname, au_lname, au_id FROM authors WHERE (au_id LIKE '_____80%')
4、SELECT titles.*, price AS Expr1 FROM titles WHERE (price > 15)

二、要求:将本题的每步操作的SQL语句输入到WINDOWS的记事本,并保存在M:\SQL目录下面,文件名为MYSQL.TXT,在SQL SERVER2000中建立数据库,并在其中建立如下表格:
姓名 年龄 出生日期 工作时间 工资 奖金 总收入
张三 25 1979-10-3 2002-7-9 3000 1000
李四 35 1969-8-25 1995-8-5 2500 800
王五 46 1958-7-30 1988-9-7 3500 600
李六 29 1975-12-12 2000-5-8 2500 1200
天天 34 1970-6-23 1998-6-8 3500 1400
(要求:建立的数据库的数据文件,事务日志文件保存在M:\SQL,数据库名为“职工信息”
表格名”职工工资”)
(1) l列出年龄大于30岁的员工姓名、年龄、出生日期、工作时间、工资。
(2) 计算出每位员工的总收入并更新数据库
(3) 列出总收入大于等于4000的员工姓名,年龄。
把建立的数据库另存为ACCESS数据库格式,保存名为MYACCESS.MBD,文件放在M:\SQL目录下面.

原语句:
1、SELECT *, 姓名 AS Expr1, 年龄 AS Expr2, 出生日期 AS Expr3, 工作时间 AS Expr4, 工资 AS Expr5 FROM 职工工资 WHERE (年龄 > 30)
2、UPDATE 职工工资 SET 总收入 = 工资 + 奖金
3、SELECT *, 姓名 AS Expr1, 年龄 AS Expr2, 总收入 AS Expr3 FROM 职工工资 WHERE (总收入 >= 4000)

三、
首先打开”SQL企业管理器“,然后打开其中PUBS数据库,对下面的表格进行操作,
1、 请查出AUTHORS表中所有在城市OAKLAND的人的所有记录。
2、 查找出AUTHORS表中每个STATE中ZIP的最大值。
3、 请统计出SALES表中QTY的总数,并以“总量”为标题显示该数据。
4、 请将TITLES表中的BUSINESS的所有PRICE求平均值。
5、 查找出AUTHORS表中STATE不是CA的CITY。
6、 把建立的数据库另存为ACCESS数据库格式,保存名为MYACCESS.MDB,文件放在
M:\SQL目录下面。

原语句:
1、SELECT *, city AS Expr1 FROM authors WHERE (city = 'OAKLAND')
2、SELECT COUNT(*) AS Expr1, state, MAX(zip) AS 最大值 FROM authors GROUP BY state
3、SELECT COUNT(*) AS Expr1, SUM(qty) AS 总量 FROM sales
4、SELECT COUNT(*) AS Expr1, AVG(price) AS 平均值 FROM titles WHERE (type = 'BUSINESS')
5、SELECT * FROM authors WHERE (NOT (state IN ('CA')))

请各位高手根据题目,帮我看看一、二、三道题里的SQL语句是否正确,如不正确的,请在每题的原语句下面将正确答案写上,不胜感激,希望能在12月9号晚上能给出答案。万分感谢!
展开
 我来答
静静观朝霞
2009-12-10
知道答主
回答量:23
采纳率:0%
帮助的人:20.6万
展开全部
虽然回答晚了,但希望对你能有所帮助

1.3、SELECT au_fname, au_lname, au_id FROM authors WHERE (au_id LIKE '_____80%')
修改:WHERE substring(au_id,5,2)='80' ;where 语句后不一定非要加(), 我不知道au_id是什么类型的,如果au_id是整数类型,要转换一下,如下:
WHERE substring(cast(au_id as char(30),5,2)='80'

1.4、SELECT titles.*, price AS Expr1 FROM titles WHERE (price > 15)
修改:既然你写了titles.*,那就不用再写price了,因为*代表了所有的字段,建议在select语句中不要用*

2.1、SELECT *, 姓名 AS Expr1, 年龄 AS Expr2, 出生日期 AS Expr3, 工作时间 AS Expr4, 工资 AS Expr5 FROM 职工工资 WHERE (年龄 > 30)
修改:问题同上

2.3、SELECT *, 姓名 AS Expr1, 年龄 AS Expr2, 总收入 AS Expr3 FROM 职工工资 WHERE (总收入 >= 4000)
修改:问题同上

3.1、SELECT *, city AS Expr1 FROM authors WHERE (city = 'OAKLAND')
修改:问题同上

3.2、SELECT COUNT(*) AS Expr1, state, MAX(zip) AS 最大值 FROM authors GROUP BY state
修改:去掉COUNT(*) AS Expr1, 真不明白你为会么一定要求出count(*)的值呢!

3.3、SELECT COUNT(*) AS Expr1, SUM(qty) AS 总量 FROM sales
修改:去掉COUNT(*) AS Expr1,

3.4、SELECT COUNT(*) AS Expr1, AVG(price) AS 平均值 FROM titles WHERE (type = 'BUSINESS')
修改:去掉COUNT(*) AS Expr1,

3.5、SELECT * FROM authors WHERE (NOT (state IN ('CA')))
修改:SELECT * FROM authors WHERE state <>'CA'
或SELECT * FROM authors WHERE state not in('CA')

基本的sql语法,要再看一看。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式