1. Stock_sl(股票代码,买入价,现价,持有数量)
Stock_name(股票代码,股票简称,汉语拼音)
用sql语句完成下列操作:列出所有盈利(现价大于买入价)的股票简称、现价、买入价和持有数量,并将检索结果按持有数量降序存储于表stock_temp中
select 股票简称,现价,买入价,持有数量 from stock_sl,stock_name;
where 现价>买入价 and stock_sl.股票代码=stock_name.股票代码 ;
order by 持有数量 desc into table stock_temp
2. 学生(学号,姓名,性别,年龄,系)
课程(科称号,课程名称)
选课(学号,课程号,成绩)
将选课在5门以上(包括5门)的学生的学号,姓名,平均分和选课门数按平均分降序排序,并将结果存于数据库表stu_temp(字段名为学号,姓名,平均分和选课门数)
方法一:
select 学生.学号,姓名,avg(成绩) as 平均分,count(*) as 选课门数 from 学生,选课;
where 学生.学号=选课.学号;
order by 平均分desc;
group by 选课.学号 having count(*)>=5;
into table stu_temp
方法二:
select a.学号,a.姓名,avg(b.成绩) 平均分,count(b.课程号) 选课门数 from 学生 a,选课 b where a.学号=b.学号 group by b.学号 having(count(b.课程号))>=5 order by 平均分 desc into dbf stu_temp
3. Book(索书号,书名,作者,图书登记号,价格)
Borrows(借书证号,姓名,系名,班级)
Loans(借书证号,图书登记号,借书日期)
检索“田亮”所借图书的书名、作者、价格,结果按价格降序存入book_temp中。
select 书名,作者,价格 from book ,borrows ,loans;
where 姓名=’田亮’ and borrows.借书证号=loans.借书证号 and loans.图书登记号=book.图书登记号;
order by 价格 desc into dbf book_temp
4. Score_manager.dbc中,
Student(学号,姓名,性别,系部,出生日期)
Course(课程号,课程名,开课单位,学时数,学分)
Score1(学号,课程号,成绩)
在score_manager数据库中查询没有选修任何课程的学生信息,查询结果包括学号,姓名和系部字段,查询结果按升序保存在一个新表new_table中
select 学号,姓名,系部 from student where 学号 not in (select distinct 学号 from score1) into dbf NEW_TABLE
5. 统计选修了课程的人数(选修多门时,只计算一次),统计结果保存在一个新表new_table中,表中只有一个字段:学生人数
select count(distinct(学号)) 学生人数 from score1 into dbf NEW_TABLE
查询没有学生选修的课程,查询结果含课程名,开课单位,结果按课程名胜虚保存在new_tabale2中
select 课程名,开课单位 from course ;
where 课程号 not in (select distinct 课程号 from score1) order by 课程名 into dbf NEW_TABLE2
6. (1)首先将book.dbf中所有书名中含有“计算机”三个字的图书复制到books_bak中,以下操作均在books_bak中完成。
(2)复制后的图书价格在于价格的基础上降价5%
(3)从图书均价高于25元(含25元)的出版社中,查询并显示图书均价最低的出版社名称以及均价,查询结果保存到表new_table4中(字段名为出版单位和均价)
(1)select * from BOOKS where 书名 like ’%计算机%’ into dbf BOOKS_BAK
(2)update BOOKS_BAK set 价格=价格*0.95
(3)select top 1 出版单位,avg(价格) 均价 from BOOKS_BAK group by 出版单位 having avg(价格)>=25 order by 均价 into dbf new_table4