SQL上机练习题

合集下载

SQL练习题

SQL练习题

SQL练习题一.上机操作题:用SQL命令完成下列各题功能:1.检索工资多于1230元的职工号2.检索有职工工资多于2010元的仓库信息3.给出在仓库”WH1“或”WH2”工作,并且工资少于2020元的职工号4.找出工资多于1230元的职工号和他们所在的城市.5.找出工作在面积大于400的仓库的职工号以及这些职工工作所在的城市。

6.哪些城市至少有一个仓库的职工工资为1250元7.查询所有职工的工资都多于1210元的仓库的信息。

8.找出和职工E4挣同样工资的所有职工9.检索出工资在2020元到2050元范围内的职工信息10.从供应商关系中检索出全部公司的信息。

11.找出不在北京的全部供应商信息12.按职工的工资值升序检索出全部职工信息13.先按仓库号排序,再按工资排序并输出全部职工信息14.找出供应商所在地的数目15.求所有职工的工资和16.求北京和上海的仓库职工的工资总和17.求所有职工的工资都多于2020元的仓库的平均面积18.求在WH2仓库工作的职工的最高工资值19.求每个仓库的职工的平均工资20.求至少有两个职工的每个仓库的平均工资21.找出尚未确定供应商的订购单(供应商号为空)22.列出已经确定了供应商的订购单信息23.列出每个职工经手的具有最高总金额的订购单信息24.检索那些仓库中还没有职工的仓库的信息25.检索那些仓库中至少已经有一个职工的仓库的信息26.检索有职工的工资大于或等于WH1仓库中任意一名职工工资的仓库号27.检索有职工的工资大于或等于WH1仓库中任何一名职工工资的仓库号28.检索有职工的工资大于或等于WH1仓库中所有职工工资的仓库号29.显示工资最高的三位职工的信息30.显示工资最低的30%职工的信息31.显示城市为北京和上海的仓库信息。

32.将查询到的职工的信息存放到数组TMP中。

33.将最高工资的前三位职工的信息存放到表V1中。

34.将城市为北京的仓库信息存入到临时表TEMP中。

SQL上机考试题

SQL上机考试题

设有一个学生-课程数据库,包括学生关系Student 、课程关系Course 、选修关系SC ,如下图所示:(18分)根据以上所定义的三张基表写出相应的SQL 语句: (1)统计有学生选修的课程门数。

(2)查询每个学生的姓名及其选修课程的课程名。

(3)求选修2号课程的学生的平均年龄。

(4)求学分为4的每门课程的学生平均成绩。

(5)查询年龄在20以下的学生的姓名、所在系、年龄。

(6)统计每门课程的学生选修人数,超过2人的课程才统计。

要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

(7)检索姓名以王打头的所有学生的姓名和年龄。

(8)创建一个视图,包括每个系的学生所选的每门课程的平均成绩。

(9)把查询学生表的权限授予用户U1设有一个学生-课程数据库,包括学生关系Student 、课程关系Course 、选修关系SC ,如下图所示:(18分)SC根据以上所定义的三张基表写出相应的SQL语句:(1)统计有学生选修的课程门数。

(2)查询每个学生的姓名及其选修课程的课程名。

答:SELECT 姓名,课程名FROM Student,Course,Sc Where Student.学号=SC.学号AND Course.课程号=SC.课程号.(3)求选修2号课程的学生的平均年龄。

答:SELECT A VG(年龄) FROM Student,SCWHERE Student.学生号=SC.学生号and 课程号=’2’(4)求学分为4的每门课程的学生平均成绩。

答:SELECT Course.课程号,AVG(成绩) FROM Course, SCWHERE Course.课程号=SC.课程号and 学分=4GROUP BY Course.课程号(5)查询年龄在20以下的学生的姓名、所在系、年龄。

答:SELECT 姓名、系别、年龄FROM StudentWHERE 年龄课<20(6)统计每门课程的学生选修人数,超过2人的课程才统计。

12 SQL语言上机练习题

12 SQL语言上机练习题

ቤተ መጻሕፍቲ ባይዱ.建立数据库
文件夹中出现两个数据库文件
2.在数据库中建立各表
右击已建的数据库 下拉菜单中 任务->导入数据
• 职工表 职工表worker: : 职工号( ),姓名 ),性别 ),出生日期 职工号(wid),姓名(wname),性别(wsex),出生日期 ),姓名( ),性别( ), ),党员否 ),参加工作时间 (wbirthday),党员否(wparty),参加工作时间 ),党员否( ),参加工作时间(wworktime) , 部门号(wdepartid) 。 部门号
(7)若存在职工号为10的职工,则显示其工 作部门名字。 ①存在量词查询 SELECT depart.dname AS '部门名' FROM depart WHERE EXISTS (SELECT * FROM worker WHERE wdepartid=depart.ddepartid AND wid=10);
3.利用SQL语言完成各题
(1)求出各部门的党员人数。 SELECT wdepartid AS 部门号, COUNT(wparty) AS 党员人数 FROM worker WHERE (wparty = 1) GROUP BY wdepartid
(2)显示所有职工的职工号、姓名和平均工资。 SELECT sid AS '职工号', sname AS '姓名', AVG(smoney)AS '平均工资' FROM salary GROUP BY sid, sname;
1 求出各部门的党员人数。 2 显示所有职工的职工号、姓名和平均工资。 3 显示所有平均工资低于全部职工平均工资的职工的职工号和姓名。 4 显示所有职工的职工号、姓名、部门名和2004年2月份工资, 并按部门名顺序排列。 5 显示各部门名和该部门的所有职工平均工资。 6 显示最高工资的职工的职工号、姓名、部门名、工资发放日期和工 资。 7 若存在职工号为10的职工,则显示其工作部门名字。 8 建立视图View1,显示所有职工的姓名和2004年1月份工资数。

sql机试题

sql机试题

sql机试题1.假设有一个名为"employees"的表,其中包含以下列:employee_id、first_name、last_name、department_id。

查询该表中每个部门的员工数量,并按照部门数量进行降序排列。

2.假设有一个名为"orders"的表,其中包含以下列:order_id、customer_id、order_date和total_amount。

查询该表中总金额超过10000元的订单的客户数量。

3.假设有一个名为"products"的表,其中包含以下列:product_id、product_name、category_id和price。

查询该表中每个类别的平均价格。

4.假设有一个名为"students"的表,其中包含以下列:student_id、student_name、grade和score。

查询该表中成绩高于平均分的学生数量。

5.假设有一个名为"customers"的表,其中包含以下列:customer_id、customer_name、email和phone。

查询该表中未提供电子邮件地址或电话号码的客户数量。

6.假设有一个名为"orders"的表,其中包含以下列:order_id、customer_id、order_date和total_amount。

查询该表中总金额超过10000元的订单中,客户数量最多的前三个客户的订单数量。

7.假设有一个名为"employees"的表,其中包含以下列:employee_id、first_name、last_name、department_id和salary。

查询该表中平均薪资最高的前三个部门中的员工数量。

SQL语句上机练习一

SQL语句上机练习一

打开下发的数据库素材,请使用SQL语句完成下列查询,每一题在输入完语句后,通过运行来检查有无错误,查询结果是否正确,下面七个查询依次保存为查询1,查询2。

查询7。

SQL语句有不会的可参看教材P134,135,136
1. 请查询出“学生档案”表中入学成绩大于400分的同学姓名
2. 请查询出“学生档案”表中入学成绩大于300分,小于400分的同学所有信息
3. 请查询出“学生档案”表中所有团员的姓名
4. 请查询出“学生档案”表中入学成绩大于500分,或小于300分的同学班级ID、性别、姓名
5. 请查询出“学生档案”表中出生日期在1990年9月1日至1991年9月1日之间出生的学生学号、姓名
6. 请查询出“学生档案”表中所有姓“刘”的同学姓名、班级ID、奖惩
7. 请查询出“学生成绩01”表中数学和语文都大于90分的同学学号。

SQL上机操作题目精选

SQL上机操作题目精选

CAP数据库示例Customers:顾客信息cid 唯一标识一个顾客Cname顾客名称City顾客所在的城市Discnt每个顾客可能会有的折扣Agents代理商信息Aid唯一标识一个代理商Aname代理商的名称City代理商所在的城市Percent代理所能获得的佣金百分比Products商品信息Pid唯一标识一件商品Pname商品名称City商品库所在城市Quantity商品的库存数量Price每单位商品的批发价Orders订单信息Ordno唯一标识一份订单month订单月份cid购买该商品的顾客Aid经由该代理商订货pid所订购的商品qty订购的商品数量dollars商品的总价CAP数据库的四个表Customers(cid,cname,city,discnt)Agents(aid,aname,city,percent)Products(pid,pname,city,quantity,price)Orders(ordno,month,cid,aid,pid,qty,dollars)用SQL语句查询(注意:数据库只是一个示例,题目中出现的数据不一定在数据库中出现,自己在做测试时可用数据库中的数据,但是写命令须按照题目要求来写):1、查询住在GuangZhou的代理人的编号和名字。

2、查询客户及其委托代理定货的所有代理人的名字。

3、查询通过SuZhou或HangZhou城市代理商订购产品的所有客户编号。

4、查询通过SuZhou或HangZhou城市代理商订购产品的所有客户名字及其折扣。

4、取出至少被一个在Beijing的顾客通过位于Shanghai的代理订购的商品的名字。

5、找出折扣率最大和最小的顾客的cid值。

6、找出折扣率最大和最小的顾客的cname值。

7、找出通过代理商a06而不通过代理a01订购的商品的pid值。

8、取出“shanghai“的代理商的aid和aname值,并且这些代理没有销售过任何Suzhou生产的商品。

sql上机练习2

sql上机练习2
上机练习2
要求

两个文件

sql文件

用于记录操作中用到的SQL语句 用于显示SQL Server上的SQL语句的运行结果(屏幕拷贝)

word演示报告



建立的表名要有名字和学号,方便老师运行sql文件, 避免表名相同带来的建表失败错误 所有sql语句都要在SQL Server上调通 做完后发到191474470@
(2)班
练习2-1(2班)

建立数据库,并设计以下表(不定义约束)

学生表student(sno, sname, ssex ) 课程表course(cno, cname ) 教师表teacher(tno,tname, tsex) 开课表offering(ono, cno, tno ) 选课表enrollment(sno, ono ) 在student表的sno字段上建立唯一性索引(降序) 在teacher表的tname字段上建立非唯一性索引(升序) 在enrollment表的sno, ono字段上建立联合索引

创建索引

练习2-2(2班)

增加约束

设置ssex字段只能为’男’或者’女’ 设置course表的cno字段非空 在course表上的cno字段上增加主键 在enrollment表的cno字段上设置关于course表cno 字段的外键

把student表的sno字段上的索引改为升序

创建索引


Байду номын сангаас
增加约束


完成后发到191474470@

注意事项

练习2-2(1班)

SQL上机题

SQL上机题

SQL上机题第5章综合上机题实训一建立表训练要求:为数据库PD创建以下三个基本表:产品表(product):pno CHAR(6)NOT NULL;pname CHAR(30);price DECIMAL (6,2);stock INT字段说明:pno 产品编号;pname 产品名称;price 产品价格;stocks 产品库存量销售商表(retailer):rno CHAR(6)NOT NULL;rname CHAR(30);area CHAR(10);leader char(8);tele char(15);remarks text字段说明:rno 销售商编号;rname 销售商名称;area 地区;leader 负责人;tele 电话;remarks 备注产品销售表(sales):sno CHAR(10)NOT NULL;pno CHAR(6)NOT NULL;rno CHAR(6)NOT NULL;quantity int;ssum decimal(8,2)字段说明:sno销售编号;pno 产品编号;rno 销售商编号;quantity 数量;ssum 销售金额各表的参考数据:Product表:Pno Pname price stock100001 彩色电视机3000 10100002 洗衣机1200 20100003 冰箱1800 12100004 电热水器2000 30100005 太阳能热水器2200 8100006 1匹空调1800 5100007 1.5匹空调2400 20100008 2匹空调3800 6100009 音响3500 3100010 台式电脑6000 5100011 MP3 900 10100012 复读机200 20100013 燃气热水器1500 10Retailer表:Rno Rname area leader tele remarks000001 广电公司南京张三111111111000002 家电市场无锡李四22222222000003 电器商场上海王五33333333000004 小家电商场南京赵六666666666000005 JL电器销售部苏州朱平平888888888Sales表:Sno Pno Rno quantity ssum sdate0000000001 100001 000001 1 3000 2009-3-10 0000000002 100001 000003 2 6000 2009-5-20 0000000003 100002 000001 1 1200 2009-6-12 0000000004 100002 000002 2 2400 2009-6-22 0000000005 100002 000003 3 3600 2009-6-29 0000000006 100010 000004 5 30000 2009-7-1 0000000007 100013 000005 2 3000 2009-7-20二、在PD数据库中按下列要求查询1.查询每种产品的名称和库存量。

SQL数据库上机实验题目和答案

SQL数据库上机实验题目和答案

SQL数据库上机实验题目和答案试用SQL的查询语句表达下列查询:1.检索王丽同学所学课程的课程号和课程名。

select Cno ,Cname from c where Cno in(select cno from sc where sno in (select sno from s where sname='王丽' ))2.检索年龄大于23岁的男学生的学号和姓名。

select sno,sname from swhere sex='男' and age>233.检索‘c01’课程中一门课程的女学生姓名select sname from swhere sex='女' and sno in(select sno from sc where cno='c01')4.检索s01同学不学的课程的课程号。

select cno from cwhere cno not in (select cno from sc where sno ='s01')5.检索至少选修两门课程的学生学号。

select sc.sno from s,scwhere s.sno=sc.snogroup by sc.snohaving count(/doc/6b7958374.html,o)>=26.每个学生选修的课程门数。

解法一:select so.sno sno,/doc/6b7958374.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno ) so,swhere s.sno=so.sno解法二:select sc.sno sno,s.sname,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno,sname7.求选修C4课程的学生的平均分。

SQL语句上机题

SQL语句上机题

SQL语句上机题习题6.1.3:使用习题5.2.1中提供的数据库模式用SQL语句写出后面的查询,并使用习题5.2.1提供的资料写出查询结果。

Product(marker, model, type)PC(model, speed, ram, hd, rd, price)Laptop(model, speed, ram ,hd, screen, price)Printer(model, color, type, price)* a)找出所有价格在$1200以下的PC机的型号、速度和硬盘大小。

Select model,speed,hdFrom pcWhere piece<1200* b)要求同(a),但是重命名列speed为megahertz以及列hd为gigabytes。

select model,speed as megahertz,hd as gigabytesfrom pcwhere price<1200c)找出所有打印机制造厂商。

select distinct makerfrom productwhere type=’printer’d)找出价格在$2000以上的手提电脑的型号、内存大小和屏幕尺寸。

select model,ram,screenfrom laptopwhere price>2000* e)找出关系Printer中所有彩色打印机元组,注意属性color是一个布尔类型。

select model,type,pricefrom printerwhere color=’true’f)找出价格少于$2000并拥有12X或16X DVD的PC机的型号、速度和硬盘尺寸。

把rd属性看作一个字符串属性。

select model,speed,hdfrom pcwhere price<2000 and rd=’12xDVD’or rd=’16xDVD’习题6.1.4:基于习题5.2.4给出的数据库模式和资料写出后面的查询语句以及查询结果。

SQL上机练习题

SQL上机练习题

S Q L上机练习题-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN《数据库软件SQL SERVER》考试说明:在F:盘新建一个以考生的学号和姓名命名的文件夹(例如2007001张三),将所做的数据库以及所有的SQL文本文件均存放在此文件夹中。

(第一题为数据库,第二、三、四和五题均存为一个SQL文本文件,请标明题目编号)一、(30分)操作题创建数据库:在该文件夹下创建一个为“library”的数据库,主文件的初始大小为3MB,增长方式为10%增长,最大容量为10MB。

日志文件初始大小为3MB,增长方式为1MB,最大容量为10MB。

“library”中包含的数据“book”表有如下结构:(bookid为主(2)创建一视图view_borrow,要求包含借阅者的姓名、所借阅图书名和借阅日期二、(40分)编写查询语句(要求所有命令存储于SQL的文本文件中,文件名为“SQL代码”)(1)向“book”表中添加一条记录,书号为100005,书名计算机网络基础,作者孙超(2)修改“reader”表中记录,将姓刘凡易的所在部门改为水建(3)查询所有未借阅图书的所有读者姓名(4)查询至少借阅了两门图书的读者的姓名(5)查询借阅了“100001”和未借阅“100002”图书的读者姓名(6)查询出借阅了图书的各个部门的人数(7)查询和“大学英语”出版社相同的图书名称(8)查询比所有图书平均价低的图书的编号(9)查询书名中包含有“计算机”的书名和作者(10)查询各个出版社中图书最高价格、最低价格和图书数目三、(10分)编写存储过程要求利用读者姓名查询出该读者所借阅图书的书名、出版社和价格,并给出“罗军军”读者的相关信息。

四、(10分)编写触发器为“borrow”表创建一触发器,保证插入记录图书编号和读者编号必须存在于book和reader表中。

五、(10分)编写一内嵌表值函数要求根据图书名,查询所有借阅该图书的读者信息,包括:readerid、rname、sex和department。

SQL上机练习

SQL上机练习

USERA.EMP:员工信息USERA.DEPT:部门信息USERA.PROJ:项目信息用以上这三个表完成下面的练习。

(可先手动书写SQL语句,再到SPUFI环境下调试)1.Simple SQL QueriesProblem 1. List employee number, last name, date of birth, and salary for all employees. The employees should be ordered by decreasing salaries.Problem 2. List last name, first name, and the department number for all employees. The listing should be ordered by descending department numbers. Within the same department, the last names should be sorted in descending order.Problem 3. List different education levels in the company in descending order.Problem 4. List all employees (employee number) and the projects (project number) performed by them.Problem 5. List last name, salary, and bonus of all male employees.Problem 6. List last name, salary, and commission of all employees with a salary higher than $20000 and hired after 1979.Problem 7. List last name, salary, bonus, and commission of all employees with a salary higher than $20000 and a bonus of $400 or of all employees with a bonus of $500 and a commission higher than $2000. The list should be ordered by last name.Problem 8. List last name, salary, bonus, and commission of all employees with a salary higher than $20000, a bonus of $400 or $500, and a commission higher than $2000. The list should be ordered by the lats name.Problme 9. For all ‘AD’ project (project number starts with ‘AD’) with activities 10, 80, and 180, list the following:-Project number-Activity number-Starting date for activity-End date for activityThe list should be sorted by project number and activity number.Problem 10. List manager number and department number for all departments to which a manager has been assigned.The list should be ordered by manager numbers.Problem 11. List employee number, last name, salary, and bonus of all employees having a bonus from $800 to $1000.The lowest bonus should appear first.Problem 12. List employee number, last name, salary, and department number of all employees of departments A00 through C01.The listing should be ordered by ascending last names.Problem 13. List all projects (ordered by the project number) for which ‘SUPPORT’ is a part of their name.Problem 14. List all departments with a ‘1’ as middle character of their department number. Order the list by department numbers.2.Retrieving Data from Multiple TablesProblem 1. For all projects (project number) beginning with ‘AD’, list project number, project name, and activity number. List identical rows once. Order the list by project number and activity number.Problem 2. Which employees did participate in project ‘AD3113’. List employee number, last name, and project number. Order the list by employee number and project number.Problem 3. Which of the activities have been started on ‘1982-10-01’. List employee number of the person performing the activity, project number, project name, activity number, and starting date of the activity. Order the list by project number, employee number, and activity number.Problem 4. List department number, manager number, and last name of the managers of departments ‘A00’ and ‘B01’.Sort the list by department number.Problem 5. List department number, last name, project name, and activity number for activities performed by the employees of department ‘A00’.The list should be sorted by project name and activity number.Problem 6. List department number, last name, project name, and activity number for all employees. Suppress identical rows.Sort the list by department number, last name, and activity number.Problem 7. The second line managements need information on activities which started on 1982-10-15 or thereafter.For these activities, list activity number, manager number responsible for the department performing the project, the starting date for the activity, project number, and last name of the employee performing the activity.The list should be ordered by activity number and activity starting date.Problem 8. Which employees of department ‘A00’ were hired before their manager.List department number, manager’s last name, employee’s last name, hiring dates of the managerand employee.Order the list by employee last name.3. Scalar Functions and ArithmeticProblem 1. For employees whose salary, increased by 5 percent, is less than or equal to $20000, list the following:-Last name-Salary-Salary increased by 5 percent-Monthly salary increased by 5 percentSort the listing by salary.Problem 2. For all employees with an education level of 18 or 20, the salary will be increased by $1200, and the bonus will be halved. List last name, education level, the new salary and new bonus for these employees.Employees with an education level of 20 should be list first. For employees with same education level, sort the list by salary.Problem 3. The salary will be decreased by $1000 for all employees matching the following criteria:-They belong to department ‘D11’.-Their salary is more than or equal to 80 percent of $20000-Their salary is less than or equal to 120 percent of $20000List department number, last name, salary, and decreased salary. Sort the result by salary.Problem 4. We need a list for all employees of department ‘D11’ with at income (sum of salary, commission, and bonus) that is higher than their salary increased by 10 percent. List department number, last name, and income. Sort the result in descending order by income.Problem 5. List all department which have no manager assigned. List department number and department name.Problem 6. List project number and major project number of all projects whose project number contains ‘AD’in position 1 and 2. If the major project number is unknown, display the text ‘MAIN PROJECT’.Problem 7. List all employees who were younger than 25 when they joined the company.List their employee number, last name, and age in years.Sort the result by age of employee when joining the company and employee number.Problem 8. We need a list of all projects which ended on 1982-12-01. Display year and month of the estimated starting date and project number. Sort the result by the project number.Problem 9. List project number and duration of all ‘MA’ projects (project number starts with ‘MA’) in weeks. The duration should be rounded and displayed with one decimal position.Order the list by the project number.Problem 10. For projects of region MA (i.e., for projects whose project number starts with ‘MA’), list project number, estimated ending dates, and expected ending date, if the duration will exceed the estimated by 10 percent.Order the list by project number.Problem 12. List the first name initial and last name of all employees whose last name starts with ‘S’. The initial should be separated from the last name by means of a period.4. Column Function and GroupingProblem 1. For all departments, display department number and the sum of all salaries.Problem 2. For all departments, display the department number and the number of employees.Problem 3. Display the departments which have more than 3 employees.Problem 4. For all departments with at least one designer, display their number of designers (and department number).Problem 5. For each department and each sex, display the average salary, the average bonus, the average commission, and number of persons if the sex group contains at least tow persons. The average should truncated (no rounding) after two decimal positions.Problem 6. Display average bonus and average commission for all departments with an average bonus higher than $500 and an average commission higher than $ 2000.5. UNIONProblem 1. List the salaries of all employees of department ‘A00’. At last line, display the sum of all salary of the department.Problem 2. For departments A00, B01, and C01, list the projects they perform and the employees of the department. The output should consist of up to three lines for each department as follows: First line:-Department number-Text: DEPARTMENT-Department nameSecond line (if data available):-Department number-Project number-Project nameSubsequent line (if data available):-Department number-Employee number-Last nameProblem 3. For all projects (project number) beginning with ‘IF’, list the following:First line:-Text: PROJECT-Project number-Employee number responsible for the project-Estimated starting date-Estimated ending dateSubsequent line:-Project number-Emloyee number performing the activity-Activity starting date-Activity ending dateDisplay the projects in ascending sequence of their project number and employee number.6. Using SubqueriesProblem 1. List those employees that have a salary which is $5000 higher than the average salary of all employees.Display department number, employee number, last name, and salary.Sort the list by the department number and employee numberProblem 2. List employee number and last name of all employees not assigned to projects.Problem 3. List all employees whose salary is higher than the average salary of all of the departments A00, B01 and C01.Display employee number, last name, and salary.Problem 4. List all employees whose salary is higher than the average salary of at least one of the departments A00, B01 and C01.Display employee number, last name, and salary.Problem 5. List project number and duration (in days) of the project with the shortest duration.Problem 6. List department number, department name, last name, and firstname of all employees of departments with only male employees.7. Maintaining DataProblem 1. Create table TESTEMP with the following columns:-EMPNO-LASTNAME-WORKDEPT-HIREDATE-SALARY-BONUSThe data types and null characteristic for these columns should be the same as for the respective columns of the EMP table described in the data model.Problem 2. Mr. SMITH joined the company. For Mr. SMITH enter the following data:-Employee number: 000111-Last name: SMITH-Department number: ‘C01’-Date hired: 1998-06-25-Salary: $25000-Bonus: $0Problem 3. Insert data into the TESTEMP table by copying the appropriate columns of the EMP table of employees with employee number less than or equal to ‘000050’into your TESTEMP table.Problem 4. Our new colleague, Mr. Smith receives a bonus of $500. Make the appropriate data change.Problem 5. All employees of department ‘C01’ have done a good job. Therefore, they receive a salary increase of $1000.Problem 6. After a short time Mr. Smith leaves the company. Perform the data changes.Problem 7. Insert data into the TESTEMP table by copying the appropriate columns of the EMP table of employees with employee number greater than ‘000050’ into your TESTEMP table.Problem 8. Perform the following changes:-Theodore Spenser has moved to department ‘E01’Problem 9. Mrs. Brown joined the company.For Mrs. Brown enter the following data-Employee number: 000360-Last name: BROWN-Department number: ‘D01’-Date hired: Date when data are entered-Salary: $45000-Bonus: unknownProblem 10. Clean your test environment.8.用CREATE TABLE …LIKE …的方式,新建一个表TBTS31,要求列的属性和USERA.EMP相同。

sql上机题带答案

sql上机题带答案

--1、选择部门30中的雇员select * from emp where deptno=30;2、列出所有办事员的姓名、编号和部门select ename,empno,dname from emp e inner join dept d on e.deptno = d.deptno where job=upper('clerk’);3、找出佣金高于薪金的雇员select * from emp where comm>sal;4、找出佣金高于薪金60%的雇员select * from emp where comm>sal*0.65、找出部门10中所有经理和部门20中的所有办事员的详细资料select * from emp where (deptno=10 and job=upper('manager')) or (deptno=20 and job=upper('clerk '));6、找出部门10中所有经理、部门20中所有办事员,既不是经理又不是办事员但其薪金>=2000的所有雇员的详细资料select * from emp where (deptno=10 and job=upper('manager')) or (deptno=20 and job=upper('clerk ')) or (job<>upper(‘manager’) and job<>upper(‘clerk’) and sal>=2000)7、找出收取佣金的雇员的不同工作select distinct job from emp where comm>0;8、找出不收取佣金或收取的佣金低于100的雇员select * from emp where nvl(comm,0)<100;9、显示正好为6个字符的雇员姓名select ename from emp where length(ename)=610、显示不带有'R'的雇员姓名Select ename from emp where ename not like ‘%R%’;Select ename from emp where instr(ename,’R’)=0;11、显示所有雇员的姓名的前三个字符select substr(ename,1,3) from emp12、显示雇员的详细资料,按姓名排序Select * from emp order by ename13、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面Select ename from emp order by hiredate14、显示所有雇员的姓名、工作和薪金,按工作的降序顺序排序,而工作相同时按薪金升序Select ename,job,sal from emp order by job desc ,sal asc15、显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇日所在月排序,将最早年份的项目排在最前面select ename,to_char(hiredate,'yyyy'),to_char(hiredate,'mm') from emp order by hiredate asc16、显示在一个月为30天的情况下所有雇员的日薪金select ename,sal/30 from emp;17、找出在(任何年份的)2月受聘的所有雇员select * from emp where to_char(hiredate,'mm')='02';18、对于每个雇员,显示其加入公司的天数select ename,sysdate-hiredate from emp19、显示姓名字段的任何位置,包含 "A" 的所有雇员的姓名select ename from emp where ename like '%A%';select ename from emp where instr(ename,’A’,1)>0;二、1、列出至少有一个雇员的所有部门select distinct dname from dept where deptno in (select distinct deptno from emp);2、列出薪金比"SMITH"多的所有雇员select ename,sal from emp where sal>(select sal from emp whereename=upper('smith'));3、列出所有雇员的姓名及其直接上级的姓名select e.ename,m.ename from emp e,emp m where e.mgr=m.empno(+);4、列出入职日期早于其直接上级的所有雇员select ename from emp e where hiredate<(select hiredate from emp where empno=e.mgr);5、列出部门名称和这些部门的雇员,同时列出那些没有雇员的部门select dname,ename from dept d left join emp e on d.deptno=e.deptno;6、列出所有“CLERK”(办事员)的姓名及其部门名称select ename,dname from emp e left join dept d on e.deptno=d.deptno where job=upper('clerk');7、列出各种工作类别的最低薪金,显示最低薪金大于1500的记录select job,min(sal) from emp group by job having min(sal)>1500;8、列出从事“SALES”(销售)工作的雇员的姓名,假定不知道销售部的部门编号select ename from emp where deptno = (select deptno from dept wheredname=uppder('SALES'))9、列出薪金高于公司平均水平的所有雇员select ename from emp where sal>(select avg(sal) from emp);10、列出与“SCOTT”从事相同工作的所有雇员select ename from emp where job=(select job from emp whereename=upper('scott'));11、列出某些雇员的姓名和薪金,条件是他们的薪金等于部门30中任何一个雇员的薪金select ename,sal from emp where sal in (select sal from emp where deptno=30);12、列出某些雇员的姓名和薪金,条件是他们的薪金高于部门30中所有雇员的薪金select ename ,sal from emp where sal>(select max(sal) from emp where deptno=30);13、列出每个部门的信息以及该部门中雇员的数量select d.deptno,dname,count(ename) from dept d left join emp e on(d.deptno=e.deptno)group by d.deptno,dname14、列出所有雇员的雇员名称、部门名称和薪金Select e.ename,d.dname,e.sal from emp e left join dept d on (d.deptno=e.deptno) 15、列出从事同一种工作但属于不同部门的雇员的不同组合Select tba.ename,tbb.ename,tba.job,tbb.job,tba.deptno,tba.deptnoFrom emp tba,emp tbbWhere tba.job=tbb.job and tba.deptno<>tbb.deptno16、列出分配有雇员数量的所有部门的详细信息,即使是分配有0个雇员Select dept.deptno,dname,loc,count(empno)From dept,empWhere dept.deptno=emp.deptno(+)Group by dept.deptno,dname,loc17、列出各种类别工作的最低工资Select min(sal) from emp group by job18、列出各个部门的MANAGER(经理)的最低薪金Select deptno,min(sal) from emp where job=upper(‘manager’) group by deptno 19、列出按年薪排序的所有雇员的年薪select (sal+nvl(comm,0))*12 as avn from emp order by avn20、列出薪金水平处于第四位的雇员Select * from (Select ename,sal, rank() over (order by sal desc) as grade from emp) where grade=4select b.rownum,b.ename from emp b order by sal decs whererownum(select rownum from b where rownum=4)。

SQL上机试题及步骤

SQL上机试题及步骤

.《数据库原理》上机指导二中国管理软件学院2008-11-30目录三练习用SQL语言创建表3-1 练习用SQL语言创建表及设置主键3-1-1 练习用SQL语言创建表3-1-2 练习在创建表时设置主键3-2 练习在数据表中用check关键字设置约束3-3 练习在数据表中设置外键约束以建立多张表之间的联系上机练习题1四练习用SQL语言向表添加数据和修改数据4-1 练习用insert into……..values(….).语句向表添加一行数据,4-2 练习向表添加一行中的部份数据4-3 练习用alter table…add column…语句向表增加一个列4-4 练习用alter table…add check…语句增加一个约束4-5 练习用update…set….where….修改某一列中的某一行数据4-6 练习修改某一列的多行数据五练习删除表、表的约束、字段及数据5-1 练习用alter table …drop…语句删除表中的外键约束5-2 练习用alter table …drop…语句删除表中的约束5-3 练习用alter table .. drop column….. 语句删除表中的字段5-4 练习用delete from….where....语句从表中删除一行数据5-5 练习用delete from….where....in,,....语句从表中删除多行数据5-6 练习用delete from….语句删除表中每一行数据5-7 用drop table..…命令删除表六练习用SQL语言实现数据查询--------第三次上机的内容6-1 练习用select …from…语句从表中检索数据6-2 练习用where子句来限定查询条件6-3 练习多表查询6-4 练习自表查询6-5 练习用like子句实现摸糊查询七练习复杂数据查询--------第三次上机的内容7-1练习用多条select…from.. where…语句实现嵌套查询7-1-1 练习在一张表上的嵌套查询7-1-2 练习在多张表上的嵌套查询7-1-3 练习使用not in关键字的嵌套查询7-1-4 练习使用exists, not exists 关键字的嵌套查询7-2 练习使用统计函数的查询7-2 练习使用统计函数的查询7-3 练习使用group by子句实现分组查询7-4 练习使用having子句实现有条件的分组查询上机练习题0.熟悉SQL查询分析器和对象浏览器0-1 练习使用SQL查询分析器●选择【开始】|【程序】|【MicroSoft SQL Server】|【企业管理器】,●在【菜单】上,选择【工具】|【查询分析器】,便显示图2-1所示连接到SQL Server对话框●在【连接到SQL Server】登录窗口中, 拉下列表柜,,选中一个点号, 这个点号(.)表示本机器名, 点击【确定】按钮。

SQL上机习题

SQL上机习题

第一套测试题(数据库及sql语言基础操作)首先创建一个数据库(名称为:db1),要求将其数据文件的逻辑名改为:db1_姓名全拼,物理名及路径为:c:\姓名全拼_data.mdf;日志文件的逻辑名改为:log_姓名全拼,物理名及路径为:c:\姓名全拼_log.ldf。

create database db2on(name=db2_h,filename='c:\db2.mdf')log on(name=log_h,filename='c:\log.ldf')完成如下两部分操作:1.基础部分(50分):使用Transact-sql语言在上述数据库中创建表sc,包含三个字段:sno:固定字符长10;cno:可变字符长15;grade;定点小数,不为空,且取值范围限定为0-100之间。

设定实体完整性、参照完整性,并自定义约束名;参照完整性约束违约处理方式均设置为级联方式。

将上述Transact-sql语句保存为:姓名全拼_db1.sql,不需要执行。

create table sc(sno char(10),cno varchar(15),grade numeric(5,2)not null check(grade between0and100),constraint pk_2primary key(sno,cno),foreign key(sno)references student(sno)on delete cascadeon update cascade,foreign key(cno)references course(cno)on delete cascadeon update cascade)2.用Transact-sql语句完成如下操作(以参考书中student,sc,course表为例)(50分):(1)向student表中添加sname列的唯一性约束,自定义约束名;alter table student add constraint unique_sname unique(sname)(2)向student表中增加新列birth,类型为时间日期类型;alter table student add birth datetime(3)将sc表中所有计算机系的学生成绩置为0;update sc set grade=0where sno=(select sno from student where sdept=”计算机”)(4)查询如下满足条件的数据,并将其保存到新表newtable1中。

SQL数据库上机考试题

SQL数据库上机考试题

一、用Transact-SQL语句定义数据库(每题6分,共12分)1、创建名为School的数据库,该数据库包含二个大小为2MB的数据文件(文件名为:<你的姓名>_school_dat1和<你的姓名>_school_dat2)和一个大小为1MB的事务日志文件(文件名为:<你的姓名>_school_log)。

限制数据文件大小为5MB、日志文件为2MB。

对于所有文件,允许20%的文件增长。

请将创建数据库的Transact-SQL 脚本存为<你的姓名>_1_01.sql文件。

解:drop database schoolgocreate database schoolonprimary(name='lts_school_dat1',filename='C:\Program Files\Microsoft SQLServer\MSSQL.1\MSSQL\Data\lts_school_dat1.mdf',size=3MB,maxsize=5MB,filegrowth=20%),filegroup fgroup(name='lts_school_dat2',filename='C:\Program Files\Microsoft SQLServer\MSSQL.1\MSSQL\Data\lts_school_dat2.ndf',size=2MB,maxsize=5MB,filegrowth=20%)log on(name='lts_school_log',filename='C:\Program Files\Microsoft SQLServer\MSSQL.1\MSSQL\Data\lts_school_log.ldf',size=1MB,maxsize=2MB,filegrowth=20%)go2、修改数据文件<你的姓名>_school_dat1,增加其大小至3MB,并允许按0.5MB(512KB)的增量增至最大大小6MB;删除数据文件<你的姓名>_school_dat2;添加一个新的1MB的数据文件(文件名为:<你的姓名>_school_dat3),允许它以1MB增量增至磁盘被充满。

SQL上机考试(答案)

SQL上机考试(答案)

数据库原理及应用上机考试提示:1、在F盘建立一个以学号+姓名为文件名的文件夹,将此Word文档存入该文件夹。

2、附加“THXY_SM”数据库,完成下面操作。

3、将每题目的操作要求完成。

4、提交该Word文档。

操作要求如下:1、创建“专业表”。

请写出SQL语句:Create table专业表(序号INT identity(1,1)primary key,专业代码char(8),专业名称varchar(20),系号char(10)references系部表(系号))2、设置“成绩表”的主键。

请写出SQL语句:alter table成绩表add constraint pk1 primary key(学号,课程号)3、在“THXY_SM”数据库中,打开“数据库关系图”中的“学生管理关系图”,请完善表之间关系的创建。

请截关系图并粘贴在此下面:SQL 语句为:(1)、Alter table学生表Add Constraint fk1 foreign key(班号)references班级表(班号)(2)、Alter table成绩表Add Constraint fk2 foreign key(学号)references学生表(学号)(3)、Alter table成绩表Add Constraint fk3 foreign key(课程号)references课程表(课程号)4、修改“学生表”,为学生表的“性别”列创建取值约束,约束条件为性别列的取值为“男”或“女”,约束名称为“性别取值约束”。

请写出SQL语句:Alter table学生表add constraint性别取值约束check( 性别in('男','女') )5、修改“成绩表”,将“成绩”列的数据类型修改为numeric,精度为6,小数位保留1位。

请写出SQL语句:Alter table成绩表alter column成绩numeric(6,1)6、为学生表的“姓名、班号”列建立一个非聚集组合索引“name_class”,按姓名的降序、班号升序排列。

SQL数据库上机练习2

SQL数据库上机练习2

SQL数据库上机练习2在D盘根目录下用自己的名字加“练习2”建立一个目录一.(6分)在SQL Server Management Studio中建立满足如下要求的数据库:1.数据库名字为:TwoDB;2.此数据库包含两个数据文件,其中主数据文件的逻辑文件名为:Two_Data1,物理文件名为Two_data1.mdf,初始大小为2MB,存放在新建目录下,自动增长,每次增长1MB,最多增加到4MB。

辅助数据文件的逻辑文件名为:Two_data2,物理文件名为Two_data2.ndf,初始大小为3MB,同主数据文件存放在相同的位置,不自动增长。

3.日志文件包含一个,日志文件的逻辑文件名为:Two_log,物理文件名为Two_log.ldf,初始大小为3MB,同主数据文件存放在相同的位置,自动增长,每次增长30%,最多增加到5MB。

二.(10分)为描述书店对图书的进书情况,创建了三张表:图书表,书店表和书店进书表。

图书表用于表示图书的基本信息,书店表用于描述书店的基本信息,书店进书表描述了书店的图书进书情况。

用语句在TwoDB数据库中创建这三张表,请将语句以文件形式保存下来,文件名为“姓名.sql”,存放在新建的目录下。

可以将后续所有的SQL语句均保存在此文件中,在文件中要注明题号)。

注:括号中为表名和列名的拼音表示,建表时用拼音表示表名和列名即可。

三张表的结构如下:1.图书表(TSB)(记录出版社所印的每种图书的情况,一个图书编号对应一种图书,而不是一本图书)图书ISBN(ISBN):普通编码定长字符型,4位长,主码书名(SM):普通编码可变长字符型,30位长,非空类别(LB):普通编码定长字符型,10位长,允许空,取值范围为{计算机、通讯、数学、外语}印刷数量(YSSL),小整型,允许空,取值:大于等于1000单价(DJ):定点小数,小数点后保留2位,小数点前4位,允许空出版日期(CBRQ):小日期时间型,允许空2.书店(SDB)书店编号(SDBH):普通编码定长字符型,4位长,主码书店名称(SDDM):普通编码定长字符型,20位长,非空地址(DZh):普通编码可变长字符型,30位长,允许空电话(DH):普通编码定长字符型,12位长,取值形式为:“(3位数字)-6位数字”3.书店进书表(JSB)图书ISBN(ISBN):普通编码定长字符型,4位长,非空书店编号(SDBH):普通编码定长字符型,4位长,非空进书日期(JSRQ):小日期时间型,非空,默认值为插入记录时的当前时间进书数量(JSSL):小整型,允许空,取值:大于等于10其中:(图书ISBN,书店编号,进书日期)为主码图书ISBN为引用图书表的外码,书店编号为引用书店表的外码。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据库软件SQL SERVER》
考试说明:在F:盘新建一个以考生的学号和姓名命名的文件夹(例如2007001张三),将所做的数据库以及所有的SQL文本文件均存放在此文件夹中。

(第一题为数据库,第二、三、四和五题均存为一个SQL文本文件,请标明题目编号)
一、(30分)操作题
创建数据库:在该文件夹下创建一个为“library”的数据库,主文件的初始大小为3MB,增长方式为10%增长,最大容量为10MB。

日志文件初始大小为3MB,增长方式为1MB,最大容量为10MB。

“library”中包含的数据“book”表有如下结构:(bookid为主键)
(2)创建一视图view_borrow,要求包含借阅者的姓名、所借阅图书名和借阅日期
“library”表记录如下:
二、(40分)编写查询语句(要求所有命令存储于SQL的文本文件中,文件名SQL代码”)
(1)向“book”表中添加一条记录,书号为100005,书名计算机网
络基础,作者孙超
(2)修改“reader”表中记录,将姓刘凡易的所在部门改为水建
(3)查询所有未借阅图书的所有读者姓名
(4)查询至少借阅了两门图书的读者的姓名
(5)查询借阅了“100001”和未借阅“100002”图书的读者姓名
(6)查询出借阅了图书的各个部门的人数
(7)查询和“大学英语”出版社相同的图书名称
(8)查询比所有图书平均价低的图书的编号
(9
)查询书名中包含有“计算机”的书名和作者
(10)查询各个出版社中图书最高价格、最低价格和图书数目
三、(10分)编写存储过程
要求利用读者姓名查询出该读者所借阅图书的书名、出版社和价格,

军”读者的相关信息。

四、(10分)编写触发器
为“borrow”表创建一触发器,保证插入记录图书编号和读者编号必须存在于book和reader表中。

五、(10分)编写一内嵌表值函数
要求根据图书名,查询所有借阅该图书的读者信息,包括:readerid、rname、sex和department。

相关文档
最新文档