SQL语句练习题(精品文档)

合集下载

(完整版)sql语句练习题及答案

(完整版)sql语句练习题及答案

(完整版)sql语句练习题及答案⼀在数据库 school 中建⽴student , sc, course 表。

学⽣表、课程表、选课表属于数据库School ,其各⾃的数据结构如下:学⽣Student (Sno,Sname,Ssex,Sage,Sdept)课程表course(Cno,Cname,Cpno,Ccredit)学⽣选课SC(Sno,Cno,Grade)⼆设定主码1 Student表的主码:sno2 Course表的主码:cno3 Sc表的主码:sno,cno1写出使⽤ Create Table 语句创建表 student , sc, course 的SQL语句23 删除student表中的元组4在数据库school中删除关系student5在student表添加属性sbirthdate 类型datetimeDelete1 删除所有JSJ 系的男⽣delete from Student where Sdept=’JSJ’ and Ssex=’男’;2 删除“数据库原理”的课的选课纪录delete from SC where Cno in (select Cno fromCourse where Cname=’数据库原理’);Update1 修改0001 学⽣的系科为: JSJ2 把陈⼩明的年龄加1岁,性别改为⼥。

2 修改李⽂庆的1001课程的成绩为93 分3 把“数据库原理”课的成绩减去1分Select 查询语句⼀单表1查询年龄在19⾄21岁之间的⼥⽣的学号,姓名,年龄,按年龄从⼤到⼩排列。

2查询姓名中第2个字为“明”字的学⽣学号、性别。

3查询 1001课程没有成绩的学⽣学号、课程号4查询JSJ 、SX、WL 系的年龄⼤于25岁的学⽣学号,姓名,结果按系排列5按10分制查询学⽣的sno,cno,10分制成绩(1-10分为1 ,11-20分为2 ,30-39分为3,。

90-100为10)6查询 student 表中的学⽣共分布在那⼏个系中。

sql语句考试题

sql语句考试题

1. 查询操作1.1 基础查询从表"employees" 中选择所有员工的姓名和工资。

sqlCopy codeSELECT name, salaryFROM employees;1.2 条件查询从表"products" 中选择价格在100 到200 之间的产品。

sqlCopy codeSELECT *FROM productsWHERE price BETWEEN 100 AND 200;2. 更新操作2.1 更新记录将员工"John" 的工资增加到5000。

sqlCopy codeUPDATE employeesSET salary = 5000WHERE name = 'John';3. 插入操作3.1 插入记录向表"customers" 中插入一条新记录,包含客户姓名为"Alice",电话为"555-1234"。

sqlCopy codeINSERT INTO customers (name, phone)VALUES ('Alice', '555-1234');4. 删除操作4.1 删除记录删除表"orders" 中订单编号为1001 的记录。

sqlCopy codeDELETE FROM ordersWHERE order_id = 1001;5. 聚合函数5.1 计算平均值计算表"sales" 中产品销售数量的平均值。

sqlCopy codeSELECT AVG(quantity)FROM sales;6. 联结操作6.1 内连接从"orders" 和"customers" 表中选择订单号、订单日期和客户姓名。

sqlCopy codeSELECT orders.order_id, orders.order_date, FROM ordersJOIN customers ON orders.customer_id = customers.customer_id;以上只是一些基础的SQL 语句示例,实际的考试问题可能涉及更复杂的查询、联结、子查询等操作。

SQL基础知识题库100道及答案(完整版)

SQL基础知识题库100道及答案(完整版)

SQL基础知识题库100道及答案(完整版)1. 在SQL 中,用于创建表的语句是()A. CREATE TABLEB. INSERT INTOC. UPDATED. DELETE答案:A2. 以下哪个关键字用于在SQL 中添加数据()A. ADDB. INSERTC. APPENDD. PUT答案:B3. 在SQL 中,用于从表中检索数据的语句是()A. SELECTB. GETC. FETCHD. REQUEST答案:A4. 以下哪个关键字用于在SQL 中更新数据()A. MODIFYB. CHANGEC. UPDATED. REPLACE答案:C5. 要从表中删除数据,应使用的SQL 语句是()A. DROPB. DELETEC. REMOVED. CLEAR答案:B6. SQL 中用于创建索引的关键字是()A. CREATE INDEXB. MAKE INDEXC. BUILD INDEXD. ESTABLISH INDEX答案:A7. 以下哪种数据类型用于存储整数()A. INTB. FLOATC. VARCHARD. DATE答案:A8. 用于存储字符串的常见数据类型是()A. CHARB. INTC. DECIMALD. DOUBLE答案:A9. 在SQL 中,用于对结果集进行排序的关键字是()A. SORTB. ORDER BYC. ARRANGED. ALIGN答案:B10. 以下哪个运算符用于等于比较()A. =B. ==C. <>D. >答案:A11. 用于不等于比较的运算符是()A.!=B. < >C. NOT EQUALSD. DIFFERENT答案:B12. 以下哪个运算符用于大于比较()A. >B. >=C. <D. <=答案:A13. 用于小于比较的运算符是()A. <B. <=C. >D. >=答案:A14. 以下哪个关键字用于在SQL 中进行分组操作()A. GROUP BYB. SORT BYC. CLASSIFY BYD. CATEGORIZE BY答案:A15. 聚合函数SUM 用于()A. 计算总和B. 计算平均值C. 计算数量D. 计算最小值答案:A16. 聚合函数AVG 用于()A. 计算总和B. 计算平均值C. 计算数量D. 计算最大值答案:B17. COUNT 函数用于()A. 计算总和B. 计算平均值C. 计算数量D. 计算最小值答案:C18. MAX 函数用于()A. 计算总和B. 计算平均值C. 计算最大值D. 计算最小值答案:C19. MIN 函数用于()A. 计算总和B. 计算平均值C. 计算最大值D. 计算最小值答案:D20. 在SQL 中,用于连接两个表的关键字是()A. JOINB. CONNECTC. LINKD. BIND答案:A21. 内连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:A22. 左连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:B23. 右连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:C24. 全连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:D25. 在SQL 中,用于限制结果集行数的关键字是()A. LIMITB. RESTRICTC. BOUNDD. CONSTRAINT答案:A26. 以下哪个子句用于在SQL 中进行条件筛选()A. WHEREB. HAVINGC. FROMD. GROUP BY答案:A27. HAVING 子句通常与()一起使用A. GROUP BYB. ORDER BYC. WHERED. FROM答案:A28. 在SQL 中,用于创建视图的语句是()A. CREATE VIEWB. MAKE VIEWC. BUILD VIEWD. ESTABLISH VIEW 答案:A29. 以下哪个关键字用于删除视图()A. DROP VIEWB. DELETE VIEWC. REMOVE VIEWD. CLEAR VIEW 答案:A30. 要在SQL 中添加注释,可以使用()A. //B. /* */C. #D. --答案:D31. 在SQL 中,以下哪种数据类型用于存储日期和时间()A. DATEB. TIMEC. DATETIMED. TIMESTAMP答案:C32. 用于提取日期部分的函数是()A. DATEPART()B. DAY()C. MONTH()D. YEAR()答案:A33. 以下哪个函数用于计算字符串的长度()A. LENGTH()B. SIZE()C. COUNT()D. LEN()答案:A34. 在SQL 中,用于将字符串转换为大写的函数是()A. UPPER()B. TO_UPPER()C. CAPITALIZE()D. BIGCASE()答案:A35. 用于将字符串转换为小写的函数是()A. LOWER()B. TO_LOWER()C. SMALLCASE()D. DECAPITALIZE()答案:A36. 以下哪个函数用于去除字符串两端的空格()A. TRIM()B. CLEAN()C. REMOVE_SPACES()D. STRIP()答案:A37. 在SQL 中,用于执行事务的语句是()A. BEGIN TRANSACTIONB. START TRANSACTIONC. OPEN TRANSACTIOND. INITIATE TRANSACTION答案:A38. 提交事务使用的语句是()A. COMMITB. SUBMITC. CONFIRMD. VALIDATE答案:A39. 回滚事务使用的语句是()A. ROLLBACKB. REVERTC. CANCELD. ABORT答案:A40. 以下哪个关键字用于在SQL 中创建存储过程()A. CREATE PROCEDUREB. MAKE PROCEDUREC. BUILD PROCEDURED. ESTABLISH PROCEDURE答案:A41. 调用存储过程使用的语句是()A. EXECUTEB. CALLC. INVOKED. RUN答案:B42. 在SQL 中,用于删除存储过程的语句是()A. DROP PROCEDUREB. DELETE PROCEDUREC. REMOVE PROCEDURED. CLEAR PROCEDURE答案:A43. 以下哪个关键字用于在SQL 中创建触发器()A. CREATE TRIGGERB. MAKE TRIGGERC. BUILD TRIGGERD. ESTABLISH TRIGGER44. 删除触发器使用的语句是()A. DROP TRIGGERB. DELETE TRIGGERC. REMOVE TRIGGERD. CLEAR TRIGGER答案:A45. 在SQL 中,用于授予权限的语句是()A. GRANTB. ALLOWC. PERMITD. AUTHORIZE答案:A46. 收回权限使用的语句是()A. REVOKEB. DENYC. REFUSED. FORBID答案:A47. 以下哪个关键字用于在SQL 中创建索引的唯一性约束()A. UNIQUEB. PRIMARY KEYC. FOREIGN KEYD. CHECK答案:A48. 用于定义主键约束的关键字是()A. PRIMARY KEYB. UNIQUE KEYC. FOREIGN KEYD. INDEX KEY答案:A49. 外键约束使用的关键字是()A. FOREIGN KEYB. OUTER KEYC. RELATED KEYD. REFERENCED KEY答案:A50. 以下哪个约束用于检查数据的有效性()A. CHECKB. VALIDATEC. INSPECTD. VERIFY答案:A51. 在SQL 中,以下哪个语句用于创建数据库()A. CREATE DATABASEB. MAKE DATABASEC. BUILD DATABASED. ESTABLISH DATABASE 答案:A52. 要删除数据库,应使用的语句是()A. DROP DATABASEB. DELETE DATABASEC. REMOVE DATABASED. CLEAR DATABASE 答案:A53. 以下哪个关键字用于在SQL 中切换数据库()A. USEB. SELECT DBC. CHANGE DBD. SWITCH DB答案:A54. 在SQL 中,以下哪种操作可以对多个表同时进行()A. 联合查询B. 子查询C. 交叉连接D. 内连接55. 子查询可以在以下哪个子句中使用()A. SELECTB. FROMC. WHERED. 以上都可以答案:D56. 以下哪个语句用于在SQL 中创建用户()A. CREATE USERB. MAKE USERC. BUILD USERD. ESTABLISH USER答案:A57. 删除用户使用的语句是()A. DROP USERB. DELETE USERC. REMOVE USERD. CLEAR USER答案:A58. 在SQL 中,用于修改表结构的语句是()A. ALTER TABLEB. MODIFY TABLEC. CHANGE TABLED. UPDATE TABLE答案:A59. 以下哪个操作可以添加列到表中()A. ADD COLUMNB. INSERT COLUMNC. APPEND COLUMND. PUT COLUMN答案:A60. 要删除表中的列,应使用()A. DROP COLUMNB. DELETE COLUMNC. REMOVE COLUMND. CLEAR COLUMN答案:A61. 在SQL 中,以下哪个关键字用于对结果集进行分页()A. PAGEB. PAGINGC. OFFSETD. LIMIT答案:D62. 以下哪个函数用于返回当前日期()A. CURDATE()B. NOW()C. CURRENT_DATE()D. TODAY()答案:C63. 用于返回当前时间的函数是()A. CURTIME()B. NOW()C. CURRENT_TIME()D. THIS_TIME()答案:C64. 在SQL 中,以下哪个关键字用于为表中的列设置默认值()A. DEFAULTB. INITIALC. BASED. START答案:A65. 以下哪个语句用于在SQL 中重命名表()A. RENAME TABLEB. MODIFY TABLE NAMEC. CHANGE TABLE NAMED. UPDATE TABLE答案:A66. 要获取表的结构信息,可以使用以下哪个语句()A. DESCRIBE TABLEB. SHOW TABLE STRUCTUREC. EXPLAIN TABLED. GET TABLE DETAILS答案:A67. 在SQL 中,以下哪个关键字用于在查询结果中去除重复行()A. DISTINCTB. UNIQUEC. SINGLED. ONLY答案:A68. 以下哪个函数用于对字符串进行拼接()A. CONCAT()B. JOIN()C. MERGE()D. COMBINE()答案:A69. 在SQL 中,用于创建临时表的关键字是()A. TEMPORARY TABLEB. TEMP TABLEC. TRANSIENT TABLED. SHORT_LIVED TABLE答案:A70. 以下哪个语句用于在SQL 中为列添加注释()A. COMMENT ON COLUMNB. NOTE ON COLUMNC. REMARK ON COLUMND. EXPLAIN COLUMN答案:A71. 在SQL 中,以下哪个关键字用于在子查询中引用外部查询的结果()A. CORRELATEDB. RELATEDC. CONNECTEDD. LINKED答案:A72. 以下哪个操作符用于在SQL 中进行范围查询()A. BETWEENB. INC. LIKED. EXISTS答案:A73. 用于模糊匹配的操作符是()A. LIKEB. SIMILARC. MATCHD. CLOSE_TO答案:A74. 在SQL 中,以下哪个关键字用于对查询结果进行排序时按照多个列进行()A. ORDER BY MULTIPLEB. SORT BY SEVERALC. ORDER BY MORE THAN ONED. ORDER BY MULTIPLE COLUMNS答案:D75. 以下哪个函数用于返回字符串的子串()A. SUBSTRING()B. PART()C. SEGMENT()D. SLICE()答案:A76. 在SQL 中,以下哪个关键字用于在存储过程中定义输入参数()A. INB. OUTC. INOUTD. PARAMETER答案:A77. 用于定义输出参数的关键字是()A. INB. OUTC. INOUTD. PARAMETER答案:B78. 以下哪个关键字用于在存储过程中定义既可以输入又可以输出的参数()A. INB. OUTC. INOUTD. PARAMETER答案:C79. 在SQL 中,以下哪个关键字用于在创建表时指定自增列()A. AUTO_INCREMENTB. SELF_INCREMENTC. AUTO_GROWD. SELF_GROW答案:A80. 以下哪个语句用于在SQL 中创建序列()A. CREATE SEQUENCEB. MAKE SEQUENCEC. BUILD SEQUENCED. ESTABLISH SEQUENCE 答案:A81. 要获取序列的下一个值,可以使用以下哪个函数()A. NEXTVAL()B. GET_NEXT()C. NEXT_VALUE()D. FOLLOWING_VALUE()答案:A82. 在SQL 中,以下哪个关键字用于锁定表()A. LOCKB. HOLDC. FREEZED. BLOCK答案:A83. 以下哪种锁类型用于防止其他事务读取或修改数据()A. 共享锁B. 排他锁C. 意向共享锁D. 意向排他锁答案:B84. 共享锁允许其他事务()A. 读取数据B. 修改数据C. 删除数据D. 以上都不行答案:A85. 在SQL 中,以下哪个关键字用于解锁表()A. UNLOCKB. RELEASEC. FREED. UNBIND答案:A86. 以下哪个函数用于计算两个日期之间的天数差()A. DATEDIFF()B. DATE_DIFFERENCE()C. DAY_DIFFERENCE()D. TIME_DIFFERENCE()答案:A87. 在SQL 中,以下哪个关键字用于在查询中使用别名()A. ASB. LIKEC. SAME ASD. EQUALS答案:A88. 以下哪个语句用于在SQL 中创建索引的唯一约束()A. UNIQUE INDEXB. PRIMARY INDEXC. FOREIGN INDEXD. CHECK INDEX答案:A89. 要在SQL 中创建全文索引,应使用()A. FULLTEXT INDEXB. COMPLETE TEXT INDEXC. ALL_TEXT INDEXD. WHOLE_TEXT INDEX 答案:A90. 在SQL 中,以下哪个关键字用于在存储过程中声明变量()A. DECLAREB. DEFINEC. STATED. ANNOUNCE答案:A91. 以下哪个语句用于在SQL 中为变量赋值()A. SETB. ASSIGNC. GIVED. PUT答案:A92. 在SQL 中,以下哪个关键字用于在存储过程中进行条件判断()A. IFB. WHENC. CASED. CHECK答案:A93. 以下哪种语句用于在SQL 中进行循环操作()A. FORB. WHILEC. LOOPD. 以上都是答案:D94. 在SQL 中,用于退出循环的语句是()A. BREAKB. EXITC. STOPD. END答案:A95. 以下哪个函数用于将数字转换为字符串()A. CAST()B. CONVERT()C. TO_STRING()D. NUM_TO_STR()答案:B96. 在SQL 中,用于获取当前会话的用户名称的函数是()A. CURRENT_USERB. SYSTEM_USERC. LOGGED_IN_USERD. SESSION_USER答案:A97. 以下哪个关键字用于在SQL 中创建存储函数()A. CREATE FUNCTIONB. MAKE FUNCTIONC. BUILD FUNCTIOND. ESTABLISH FUNCTION 答案:A98. 要删除存储函数,应使用的语句是()A. DROP FUNCTIONB. DELETE FUNCTIONC. REMOVE FUNCTIOND. CLEAR FUNCTION答案:A99. 在SQL 中,用于获取数据库版本信息的函数是()A. VERSION()B. DB_VERSION()C. DATABASE_VERSION()D. SYSTEM_VERSION()答案:A100. 以下哪个操作可以在SQL 中对表进行重命名()A. RENAME TABLEB. MODIFY TABLE NAMEC. CHANGE TABLE NAMED. UPDATE TABLE NAME答案:A。

11393计算机信息管理课程实验(3合1)精品文档68页

11393计算机信息管理课程实验(3合1)精品文档68页

04735 数据库系统原理:1、设某工厂数据库中有2个基本表:车间基本表:DEPT(DNO,DNAME,MG2、R_ENO) 属性分别是车间编号、车间名、和车间主任职工号职工基本表:EMP(ENO,ENAME,AGE,SEX,SALRY,DNO)属性分别是职工号、姓名、年龄、性别、工资和所有车间编号(1)试用关系代数表达式写出下列查询:简述“金工车间”的男职工的职工号和姓名。

(2)建立一个有关车间的女职工号和姓名的视图,其结构如下:VIEW 6(ENO,ENAME).试写出创建视图VIEW6的SQL语句。

create view VIEW6asselect ENO,ENAME from EMPwhere SEX='女'2、3、4、5、6、7、关系模式为:学生STUDENT( 学号,姓名,年龄,班号)班CLASS (班号,专业名,系名,入学年份)系DEPARTMENT(系号,系名)A.请使用SQL语言完成以下功能(1) 每个表的主外码(2) 每个班级的人数不能超过20人;(3) 学生的年龄介于16到30岁之间;(4) 学生姓名不能为空;(5) 只有班里没有学生的时候,才能删除该班级. CREATE DATABASE SCHOOLUSE SCHOOLcreate table DEPARTMENT( 系号 int Primary key,系名 varchar(20) unique)create table CLASS(班号 int primary key,专业名 varchar(20),系名 varchar(20) ,FOREIGN key (系名)references DEPARTMENT 系(系名)) create table STUDENT(学号 int primary key,姓名 varchar(10) not null,年龄 int check(年龄>=16 and 年龄<=30),班号int,foreign key(班号) references CLASS(班号) ON DELETE no action check(20>=ALL(select count(学号) from STUDENT group by 班号))) B.插入如下数据:CLASS(101,软件,计算机,1995;102,微电子,计算机,1996STUDENT(8101,张三,18,101;8102,钱四,16,121;DEPARTMENT(001,数学INSERT INTO DEPARTMENT(系号,系名) VALUES ('001','数学')INSERT INTO DEPARTMENT(系号,系名) VALUES ('002','计算机') INSERT INTO DEPARTMENT(系号,系名) VALUES ('003','化学')INSERT INTO DEPARTMENT(系号,系名) VALUES ('004','中文')INSERT INTO DEPARTMENT(系号,系名) VALUES ('005','经济')GOINSERT INTO CLASS(班号,专业名,系名,入学年份) VALUES (101,'软件','计算机',1995)INSERT INTO CLASS(班号,专业名,系名,入学年份) VALUES (102,'微电子','计算机',1996)INSERT INTO CLASS(班号,专业名,系名,入学年份) VALUES (111,'无机化学','化学',1995)INSERT INTO CLASS(班号,专业名,系名,入学年份) VALUES (112,'分子化学','化学',1996)INSERT INTO CLASS(班号,专业名,系名,入学年份) VALUES (121,'统计数学','数学',1995)INSERT INTO CLASS(班号,专业名,系名,入学年份) VALUES (131,'现代语言','中文',1996)INSERT INTO CLASS(班号,专业名,系名,入学年份) VALUES (141,'国际贸易','经济',1997)INSERT INTO CLASS(班号,专业名,系名,入学年份) VALUES (142,'国际金融','经济',1996)GOINSERT INTO STUDENT(学号,姓名,年龄,班号) VALUES (8101,'张三',18,101)INSERT INTO STUDENT(学号,姓名,年龄,班号) VALUES (8102,'钱四',16,121)INSERT INTO STUDENT(学号,姓名,年龄,班号) VALUES (8103,'王玲',17,131)INSERT INTO STUDENT(学号,姓名,年龄,班号) VALUES (8105,'李飞',19,102)INSERT INTO STUDENT(学号,姓名,年龄,班号) VALUES (8109,'赵四',18,141)INSERT INTO STUDENT(学号,姓名,年龄,班号) VALUES (8110,'李可',20,142)INSERT INTO STUDENT(学号,姓名,年龄,班号) VALUES (8201,'张飞',18,111)INSERT INTO STUDENT(学号,姓名,年龄,班号) VALUES (8302,'周瑜',16,112)INSERT INTO STUDENT(学号,姓名,年龄,班号) VALUES (8203,'王亮',17,111)INSERT INTO STUDENT(学号,姓名,年龄,班号) VALUES (8305,'董庆',19,102)INSERT INTO STUDENT(学号,姓名,年龄,班号) VALUES (8409,'赵龙',18,101)INSERT INTO STUDENT(学号,姓名,年龄,班号) VALUES (8510,'李丽',20,142)C.完成以下查询功能(1)找出所有姓李的学生,并按其年龄由小到大排序;SELECT * FROM STUDENT WHERE 姓名 like '李%' ORDER BY 年龄 ASC (2)列出所有开设超过两个专业的系的名字.SELECT 系名 FROM CLASS GROUP BY 系名 HAVING(COUNT(*)>=2)(3)列出学生人数大于等于2的系的编号和名称,第一种:SELECT * FROM DEPARTMENT WHERE 系名 in (SELECT 系名 FROM CLASS WHERE 班号 in (SELECT 班号 FROM STUDENT GROUP BY 班号 HAVINGCOUNT(*)>=2))第二种:SELECT 系号,系名 FROM DEPARTMENT WHERE 系名 IN (SELECT 系名 FROM CLASS AS C,STUDENT AS S WHERE C.班号=S.班号 GROUP BY C.系名HAVING(COUNT(*)>=2))D.学生张三转到化学系111班,请更新相关的表UPDATE STUDENT SET 班号=111 WHERE 姓名='张三'SELECT * FROM STUDENT WHERE 姓名='张三'8、已知一个关系数据库的模式如下:职工EMP(职工号,姓名,工资,所在部门)部门DEPT(部门号,部门名,部门经理的职工号)A.使用查询分析器创建上述表,要求声明:(1)每个表的主外码.(2)职工姓名和部门名不能为空;(3)工资取800到5000之间整数;CREATE DATABASE CompanyUSE CompanyCREATE TABLE DEPT( 部门号 varchar(10) Primary key,部门名 varchar(10) not null,部门经理的职工号 varchar(10))CREATE TABLE EMP(职工号 varchar(10) Primary key (这里去掉主键,因为重复的记录将不能增加)姓名 varchar(10) not null,工资 int check(工资>=800 and 工资<=5000),所在部门 varchar(10)FOREIGN KEY(部门号) REFERENCES DEPT(部门号)B、插入如下数据职工(E01,汤姆,4000,D02E05,比尔,3500,D01)部门(D01,人事,E04D04,财务,E06)INSERT INTO DEPT(部门号,部门名,部门经理的职工号) VALUES ('D01','人事','E04')INSERT INTO DEPT(部门号,部门名,部门经理的职工号) VALUES ('D02','信息','E01')INSERT INTO DEPT(部门号,部门名,部门经理的职工号) VALUES ('D03','销售','E05')INSERT INTO DEPT(部门号,部门名,部门经理的职工号) VALUES ('D04','财务','E06')INSERT INTO EMP(职工号,姓名,工资,所在部门) VALUES ('E01','汤姆',4000,'D02')INSERT INTO EMP(职工号,姓名,工资,所在部门) VALUES ('E02','丹尼',3000,'D02')INSERT INTO EMP(职工号,姓名,工资,所在部门) VALUES ('E03','约翰',1000,'D01')INSERT INTO EMP(职工号,姓名,工资,所在部门) VALUES ('E04','迪克',5000,'D03')INSERT INTO EMP(职工号,姓名,工资,所在部门) VALUES ('E04','迪克',5000,'D01')INSERT INTO EMP(职工号,姓名,工资,所在部门) VALUES ('E05','比尔',3500,'D04')C、用SQL表达以下查询:找出那些工资高于其所在部门经理工资的职工的姓名及其工资. SELECT S1.姓名,S1.工资FROM(SELECT * FROM EMP,DEPT WHERE EMP.所在部门=DEPT.部门号) AS S1, (SELECT * FROM EMP,DEPT WHERE EMP.职工号=DEPT.部门经理的职工号) AS S2WHERE S1.工资>S2.工资 AND S1.所在部门=S2.部门号D、用SQL完成:将D01号部门经理的工资改为该部门所有职工的平均工资UPDATE EMPSET 工资=(SELECT AVG(工资)FROM EMP WHERE 所在部门='D01')WHERE 职工号 IN (SELECT 部门经理的职工号FROM DEPTWHERE 部门号='D01')E、新增加一个广告部门,编号为D06Insert into DEPT((部门号,部门名,部门经理的职工号) values ('D06','广告','')select * from DEPT9、创建如下三个基本表,表结构如下:BORROWER:借书证号姓名系名班级03001 赵垒信管系 03-103002 刘诚信管系 03-103101 陈林计算机系 03-2LOANS:借书证号图书登记号借书日期03001 T00101 2004.04.0103002 T00102 2004.05.0104001 T00201 2004.05.31BOOKS索书号书名作者图书登记号出版社价格TP311.13 数据结构李卫T00101 科学19.00CREATE DATABASE LibraryGOUSE LibraryGOCREATE TABLE BORROWER借书证号 varchar(10) Primary key, 主码姓名 varchar(10) not null,系名 varchar(10),班级 varchar(10)GOCREATE TABLE BOOKS索书号 varchar(10)not null,书名 varchar(20) not null,作者 varchar(10),图书登记号 varchar(10) Primary key, 主码出版社 varchar(10),价格 decimal(8,2)GOCREATE TABLE LOANS借书证号 varchar(10) FOREIGN KEY REFERENCES BORROWER(借书证号), 外码图书登记号 varchar(10) FOREIGN KEY REFERENCES BOOKS(图书登记号), 外码借书日期 datetimeGOINSERT INTO BORROWER(借书证号,姓名,系名,班级) VALUES ('03001','赵垒','信管系','03-1')INSERT INTO BORROWER(借书证号,姓名,系名,班级) VALUES ('03002','刘诚','信管系','03-1')INSERT INTO BORROWER(借书证号,姓名,系名,班级) VALUES ('03101','陈林','计算机系','03-2')GOINSERT INTO BOOKS(索书号,书名,作者,图书登记号,出版社,价格) VALUES ('TP311.13','数据结构','李卫','T00101','科学','19.00')INSERT INTO BOOKS(索书号,书名,作者,图书登记号,出版社,价格) VALUES ('TP311.13','数据结构','李卫','T00102','科学','19.00')INSERT INTO BOOKS(索书号,书名,作者,图书登记号,出版社,价格) VALUES ('TP.065','数据结构导论','李卫','T00201','北航','16.50')INSERT INTO BOOKS(索书号,书名,作者,图书登记号,出版社,价格) VALUES ('TP.065','数据结构导论','李卫','T00202','北航','16.50')INSERT INTO BOOKS(索书号,书名,作者,图书登记号,出版社,价格) VALUES ('TP.1599','数据通信','扬志','T00301', '清华','28.50')INSERT INTO BOOKS(索书号,书名,作者,图书登记号,出版社,价格) VALUES ('TP.1600','计算机网络','扬志','T00401', '清华','38.50')INSERT INTO BOOKS(索书号,书名,作者,图书登记号,出版社,价格) VALUES ('TP.1600','计算机网络','扬志','T00402', '清华','38.50')INSERT INTO BOOKS(索书号,书名,作者,图书登记号,出版社,价格) VALUES ('TP.1610','软件工程','李新','T00501', '清华','18.50')GOINSERT INTO LOANS(借书证号,图书登记号,借书日期) VALUES ('03001','T00101','2004.04.01')INSERT INTO LOANS(借书证号,图书登记号,借书日期) VALUES ('03002','T00102','2004.04.01')INSERT INTO LOANS(借书证号,图书登记号,借书日期) VALUES ('03001','T00201','2004.04.01')INSERT INTO LOANS(借书证号,图书登记号,借书日期) VALUES ('03101','T00202','2004.05.31')INSERT INTO LOANS(借书证号,图书登记号,借书日期) VALUES ('03001','T00301','2004.04.01')INSERT INTO LOANS(借书证号,图书登记号,借书日期) VALUES ('03001','T00401','2004.04.01')INSERT INTO LOANS(借书证号,图书登记号,借书日期) VALUES ('03001','T00501','2004.04.01')INSERT INTO LOANS(借书证号,图书登记号,借书日期) VALUES ('03101','T00402','2004.05.31')1)检索借了5本书以上的学生的借书证号\姓名\系名和借书数量.SELECT B.借书证号, B.姓名, B.系名, COUNT(*) AS 借书数量FROM BORROWER AS B INNER JOIN LOANS AS L ON B.借书证号 = L.借书证号GROUP BY B.借书证号,B.姓名,B.系名HAVING (COUNT(*) >= 5)2)检索借书和赵垒同学所借图书中任意一本相同的学生的姓名\系名\书名和借书日期SELECT B.姓名,B.系名,K.书名,L.借书日期FROM BORROWER AS B,LOANS AS L,BOOKS AS KWHERE B.借书证号=L.借书证号AND L.图书登记号=K.图书登记号AND K.索书号 IN (SELECT 索书号FROM BORROWER AS B,LOANS AS L,BOOKS AS KWHERE B.借书证号=L.借书证号 AND L.图书登记号=K.图书登记号 AND B.姓名='赵垒')AND B.姓名<>'赵垒'3)建立信管系学生借书的视图SB,该视图的属性列由借书证号\姓名\班级\图书登记号\书名\出版社和借书日期组成CREATE VIEW SBAS SELECT X.借书证号,X.姓名,X.班级,Y.图书登记号,Z.书名,Z.出版社,Y.借书日期FROM BORROWER XINNER JOIN LOANS Y ON X.借书证号 = Y.借书证号INNER JOIN BOOKS Z ON Y.图书登记号 = Z.图书登记号WHERE (X.系名 = '信管系')GOSELECT * FROM SBGO样题四,现有一个学生选修课程的数据库,其中存放以下三个表:学生(学号,姓名,性别,年龄,系别);课程(课程号,课程名,任课教师);选修(学号,课程号,分数)请用SQL语言完成下列功能:1.建表,在定义中要求声明:(1)每个表的主外码;(2)学生的年龄介于16到30之间;(3)学生的姓名和课程名不能为空值;(4)选课成绩要么为空值,要么取0~100之间的整数CREATE DATABASE ElectiveGOUSE ElectiveGOCREATE TABLE 学生学号 int primary key, 主码姓名 varchar(10) NOT NULL,性别 char(2),年龄 Smallint CHECK(年龄>=16 AND 年龄<=30),系别 varchar(10)GOCREATE TABLE 课程课程号 int primary key, 主码课程名 varchar(20) NOT NULL,任课老师 varchar(10)GOCREATE TABLE 选修学号 int FOREIGN KEY REFERENCES 学生(学号), 外码课程号 int FOREIGN KEY REFERENCES 课程(课程号), 外码分数 int CHECK(分数 IS NULL OR (分数>=0 AND 分数<=100)) INSERT INTO 学生(学号,姓名,性别,年龄,系别) VALUES (101,'张三','男',18,'计算机')INSERT INTO 学生(学号,姓名,性别,年龄,系别) VALUES (102,'李四','男',16,'数学')INSERT INTO 学生(学号,姓名,性别,年龄,系别) VALUES (103,'王玲','女',17,'中文')INSERT INTO 学生(学号,姓名,性别,年龄,系别) VALUES (105,'李飞','男',19,'计算机')INSERT INTO 学生(学号,姓名,性别,年龄,系别) VALUES (109,'赵四','女',18,'历史')INSERT INTO 学生(学号,姓名,性别,年龄,系别) VALUES (110,'李平','男',20,'化学')GOINSERT INTO 课程(课程号,课程名,任课老师) VALUES (203,'操作系统','程羽')INSERT INTO 课程(课程号,课程名,任课老师) VALUES (279,'高等数学','王备')INSERT INTO 课程(课程号,课程名,任课老师) VALUES (210,'现代文学','王丹')INSERT INTO 课程(课程号,课程名,任课老师) VALUES (243,'有机化学','沈同')INSERT INTO 课程(课程号,课程名,任课老师) VALUES (204,'数据结构','张青')GOINSERT INTO 选修(学号,课程号,分数) VALUES (101,203,82)INSERT INTO 选修(学号,课程号,分数) VALUES (105,203,60) 不及格在4小题会被删除,但5小题中需要用到INSERT INTO 选修(学号,课程号,分数) VALUES (102,203,59) 另加INSERT INTO 选修(学号,课程号,分数) VALUES (102,279,90)INSERT INTO 选修(学号,课程号,分数) VALUES (101,279,88)INSERT INTO 选修(学号,课程号,分数) VALUES (105,279,82)INSERT INTO 选修(学号,课程号,分数) VALUES (110,279,68)INSERT INTO 选修(学号,课程号,分数) VALUES (109,210,72)INSERT INTO 选修(学号,课程号,分数) VALUES (103,210,90)INSERT INTO 选修(学号,课程号,分数) VALUES (110,243,92)INSERT INTO 选修(学号,课程号,分数) VALUES (101,204,85)INSERT INTO 选修(学号,课程号,分数) VALUES (105,204,91)INSERT INTO 选修(学号,课程号,分数) VALUES (102,204,56)GO3.用SQL语句完成下列查询:(1)列出张三同学选修的所有课程的名称及其成绩;SELECT 姓名,课程名,分数FROM 学生 AS S,课程 AS C,选修 AS EWHERE S.学号=E.学号 AND E.课程号=C.课程号 AND S.姓名='张三'GO(2)列出所有课程都及格了的同学的名字;SELECT 姓名FROM 学生WHERE 学号 NOT IN (SELECT 学号 FROM 选修 WHERE 分数<60)GO(3)列出在选修张青老师所教授课程的学生中,成绩最高的学生姓名及其成绩.SELECT 姓名,分数FROM 学生 AS S,选修 AS E,课程 AS CWHERE S.学号=E.学号 AND C.课程号=E.课程号 AND 任课老师='张青' AND 分数=(SELECT MAX(分数)FROM 选修 AS E,课程 AS CWHERE C.课程号=E.课程号 AND 任课老师='张青')GO4.删除所有成绩不及格的选课记录.DELETE FROM 选修 WHERE 分数<60SELECT * FROM 选修GO5.将105号同学选修203号课程的成绩改为该门课程的平均成绩. UPDATE 选修SET 分数=(SELECT AVG(分数) FROM 选修 WHERE 课程号='203') WHERE 学号='105' AND 课程号='203'SELECT * FROM 选修GO样题五.创建如下两个基本表,表结构如下:Employs:职工编号,姓名,工作年限,职务级别,工程代号Project:工程代号,工程名称,工程负责人CREATE DATABASE PlansGOUSE PlansGOCREATE TABLE Project工程代号 int primary key, 主码工程名称 varchar(30),工程负责人 varchar(10) 外码GOCREATE TABLE Employs职工编号 int primary key, 主码姓名 varchar(10),工作年限 datetime,职务级别 Smallint,工程代号 int FOREIGN KEY REFERENCES Project(工程代号) 外码GOINSERT INTO Project(工程代号,工程名称,工程负责人) VALUES (10,'人行天桥','梁家辉')INSERT INTO Project(工程代号,工程名称,工程负责人) VALUES (11,'东区D楼','朱世富')INSERT INTO Project(工程代号,工程名称,工程负责人) VALUES (12,'力学楼翻新','杨咏宏')INSERT INTO Project(工程代号,工程名称,工程负责人) VALUES (13,'中区校道','李家承')GOINSERT INTO Employs(职工编号,姓名,工作年限,职务级别,工程代号) VALUES (8146,'李燕华','1999-9-1',5,10)INSERT INTO Employs(职工编号,姓名,工作年限,职务级别,工程代号) VALUES (8234,'王宏伟','1996-8-21',2,11)INSERT INTO Employs(职工编号,姓名,工作年限,职务级别,工程代号) VALUES (6237,'宋晓岚','1997-6-10',4,11)INSERT INTO Employs(职工编号,姓名,工作年限,职务级别,工程代号) VALUES (7973,'吴敏霞','1998-9-15',3,12)GO1).对Employs表建立索引:(主键:职工编号,外键:工程代号)CREATE INDEX 职工索引 ON Employs(职工编号,工程代号)GO2).对Project表建立索引:(主键:工程代号)CREATE INDEX 工程索引 ON Project(工程代号)GO3).通过"工程代号"连接两个表SELECT E.职工编号,E.姓名,E.工作年限,E.职务级别,E.工程代号,P.工程代号,P.工程名称,P.工程负责人 FROM Employs AS E JOIN Project AS P ON E.工程代号=P.工程代号GO使用查询分析完成以下操作:4)查询列出职工编号\职工姓名\职务级别\工程名称.SELECT 职工编号,姓名,职务级别,工程名称FROM Employs AS E INNER JOIN Project AS PON E.工程代号=P.工程代号GO5).查询列出所有参加"东区D楼"工程的职工.SELECT 职工编号,姓名,职务级别,工程名称 FROM Employs AS E,Project AS PWHERE E.工程代号=P.工程代号 AND P.工程名称='东区D楼'GO6).建立视图查看:职工编号\姓名\职务级别\工程名称\并按职工编号排序.CREATE VIEW 职工与工程视图 AS (SELECT 职工编号,姓名,职务级别,工程名称FROM Employs AS E INNER JOIN Project AS P ON E.工程代号=P.工程代号)GOSELECT * FROM 职工与工程视图 ORDER BY 职工编号GO样题六.创建图书借阅关系数据库的三个基本表,其结构如下:图书:读者:借阅:CREATE DATABASE Library1GOUSE Library1GOCREATE TABLE 图书图书号 varchar(10) primary key, 主码书名 varchar(20),作者 varchar(20),单价 decimal(8,1),库存量 smallintGOCREATE TABLE 读者读者号 varchar(10) primary key, 主码姓名 varchar(20),工作单位 varchar(30),地址 varchar(30),GOCREATE TABLE 借阅图书号 varchar(10) FOREIGN KEY REFERENCES 图书(图书号), 外码读者号 varchar(10) FOREIGN KEY REFERENCES 读者(读者号), 外码借期 datetime,还期 datetime,备注 varchar(30)GOINSERT INTO 图书(图书号,书名,作者,单价,库存量) VALUES ('B1','数据结构','严苇铭','22.5',35)INSERT INTO 图书(图书号,书名,作者,单价,库存量) VALUES ('B2','数据通信','梁景宏','26.5',44)INSERT INTO 图书(图书号,书名,作者,单价,库存量) VALUES ('B3','计算机网络','谢西芬','21.0',38)INSERT INTO 图书(图书号,书名,作者,单价,库存量) VALUES ('B4','离散数学','叶晓光','18.0',65)INSERT INTO 图书(图书号,书名,作者,单价,库存量) VALUES ('B5','C程序设计','谭昊强','16.5',36)INSERT INTO 图书(图书号,书名,作者,单价,库存量) VALUES ('B6','Java 程序设计','李文君','23.0',52)GOINSERT INTO 读者(读者号,姓名,工作单位,地址) VALUES ('R001','王海','数学系','园西区48号')INSERT INTO 读者(读者号,姓名,工作单位,地址) VALUES ('R003','刘宝林','科计系','东北区23号')INSERT INTO 读者(读者号,姓名,工作单位,地址) VALUES ('R004','程伟林','科计系','东北区25号')INSERT INTO 读者(读者号,姓名,工作单位,地址) VALUES ('R005','汪道晗','物理系','园西区13号')INSERT INTO 读者(读者号,姓名,工作单位,地址) VALUES ('R016','卞靖宇','电子系','蒲园区78号')GOINSERT INTO 借阅(图书号,读者号,借期,还期) VALUES ('B3','R004','2004-6-30',NULL)INSERT INTO 借阅(图书号,读者号,借期,还期) VALUES ('B1','R003','2004-3-14','2004-5-14')INSERT INTO 借阅(图书号,读者号,借期,还期) VALUES ('B6','R003','2004-3-14',NULL)INSERT INTO 借阅(图书号,读者号,借期,还期) VALUES ('B5','R016','2004-5-17',NULL)GO用SQL语言实现下列查询:1)检索读者号为R016的读者姓名\工作单位SELECT 姓名,工作单位 FROM 读者 WHERE 读者号='R016'GO2)检索借阅图书号为B5的读者姓名SELECT 姓名,图书号 FROM 读者 AS R,借阅 AS LSELECT 姓名,图书号 FROM 读者 AS R,借阅 AS LWHERE R.读者号=L.读者号 AND 图书号='B5'GO3)检索读者"刘宝林"所借图书的书名SELECT 书名 FROM 读者 AS R,借阅 AS L,图书 AS BWHERE R.读者号=L.读者号 AND L.图书号=B.图书号 AND 姓名='刘宝林' GO4)检索读者"刘宝林"所借图书中未还的书名;SELECT 书名FROM 读者 AS R,借阅 AS L,图书 AS BWHERE R.读者号=L.读者号 AND L.图书号=B.图书号 AND 姓名='刘宝林' AND 还期 IS NULLGO5)将读者"刘宝林"已还图书的信息从借阅表中删除;DELETE FROM 借阅WHERE 读者号 IN (SELECT 读者号 FROM 读者 WHERE 姓名='刘宝林') AND 还期 IS NOT NULLGOSELECT * FROM 借阅GO6)建立未还图书的读者姓名和单位视图.CREATE VIEW 借阅视图 AS (SELECT 姓名,工作单位FROM 读者 AS R,借阅 AS L WHERE (R.读者号 = L.读者号) AND (L.还期IS NULL))GOSELECT * FROM 借阅视图样题七.设某工厂数据库中有两个基本表:车间基本表:DEPT(DNO,DNAME, MGR_ENO), 其属性分别表示车间编号\车间名和车间主任的职工号.职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别表示职工号\姓名\年龄\性别\工资和所在车间的编号.1.创建上述基本表,并插入必要的数据记录;CREATE DATABASE FactoryGOUSE FactoryGOCREATE TABLE DEPTDNO int primary key, 主码DNAME varchar(20),MGR_ENO intGOCREATE TABLE EMPENO int primary key, 主码ENAME varchar(20),AGE smallint,SEX varchar(2),SALARY decimal(8,2),DNO int FOREIGN KEY REFERENCES DEPT(DNO) 外码GOINSERT INTO DEPT(DNO,DNAME,MGR_ENO) VALUES ('01','第一车间',001) INSERT INTO DEPT(DNO,DNAME,MGR_ENO) VALUES ('02','第二车间',005) INSERT INTO DEPT(DNO,DNAME,MGR_ENO) VALUES ('03','第三车间',004) INSERT INTO DEPT(DNO,DNAME,MGR_ENO) VALUES ('04','第四车间',013) INSERT INTO DEPT(DNO,DNAME,MGR_ENO) VALUES ('05','金工车间',035) INSERT INTO DEPT(DNO,DNAME,MGR_ENO) VALUES ('06','第六车间',053) GOINSERT INTO EMP(ENO,ENAME,AGE,SEX,SALARY,DNO) VALUES (001,'王一',53,'男','3800',01)INSERT INTO EMP(ENO,ENAME,AGE,SEX,SALARY,DNO) VALUES (004,'李二',35,'男','3500',03)INSERT INTO EMP(ENO,ENAME,AGE,SEX,SALARY,DNO) VALUES (005,'张三',33,'女','3000',02)INSERT INTO EMP(ENO,ENAME,AGE,SEX,SALARY,DNO) VALUES (013,'陈五',33,'男','2800',04)INSERT INTO EMP(ENO,ENAME,AGE,SEX,SALARY,DNO) VALUES (035,'刘六',32,'女','2500',05)INSERT INTO EMP(ENO,ENAME,AGE,SEX,SALARY,DNO) VALUES (053,'赵七',31,'男','2300',06)INSERT INTO EMP(ENO,ENAME,AGE,SEX,SALARY,DNO) VALUES (002,'连八',30,'男','2000',05)INSERT INTO EMP(ENO,ENAME,AGE,SEX,SALARY,DNO) VALUES (003,'蔡九',29,'男','1800',05)INSERT INTO EMP(ENO,ENAME,AGE,SEX,SALARY,DNO) VALUES (006,'何十',25,'女','1800',01)GO2.使用查询分析器检索"金工车间"的男职工的职工号和姓名.SELECT ENO,ENAME FROM EMP AS E,DEPT AS DWHERE E.DNO=D.DNO AND D.DNAME='金工车间' AND SEX='男'GO3.建立一个有关女车间主任的职工号和姓名的视图,其结构如下:VIEW6(ENO,ENAME).编写出创建视图VIEW6的SQL语句.CREATE VIEW VIEW6 AS(SELECT ENO,ENAME FROM EMP WHERE SEX='女' AND ENO IN(SELECT MGR_ENO FROM DEPT))或:CREATE VIEW VIEW6 AS(SELECT ENO,ENAME FROM EMP INNER JOIN DEPT ON ENO=MGR_ENO WHERE SEX='女')GOSELECT * FROM VIEW6GO样题八.设某企业数据库中有如下三个基本表:职工(职工号,姓名,性别,职务,家庭地址,部门编号)部门(部门编号,部门名称,地址,电话)保健(保健卡编号,职工号,检查身体日期,健康状况) 1.创建上述基本表,并插入必要的数据记录; CREATE DATABASE EnterpriseGOUSE EnterpriseGOCREATE TABLE 部门部门编号 int primary key, 主码部门名称 varchar(20),地址 varchar(40),电话 varchar(12),GOCREATE TABLE 职工职工号 int primary key, 主码姓名 varchar(20),性别 varchar(2),职务 varchar(10),家庭地址 varchar(40),部门编号 int FOREIGN KEY REFERENCES 部门(部门编号) 外码GOCREATE TABLE 保健保健卡编号 int primary key, 主码职工号 int FOREIGN KEY REFERENCES 职工(职工号), 外码检查身体日期 datetime,健康状况 varchar(10)GOINSERT INTO 部门(部门编号,部门名称,地址,电话) VALUES (01,'办公室','一号楼','800100')INSERT INTO 部门(部门编号,部门名称,地址,电话) VALUES (02,'财务科','二号楼','800200')INSERT INTO 部门(部门编号,部门名称,地址,电话) VALUES (03,'采购部','三号楼','800300')INSERT INTO 部门(部门编号,部门名称,地址,电话) VALUES (04,'工程部','四号楼','800400')INSERT INTO 部门(部门编号,部门名称,地址,电话) VALUES (05,'人事科','五号楼','800500')GOINSERT INTO 职工(职工号,姓名,性别,职务,家庭地址,部门编号) VALUES (3061,'王一','男','科长','天河区',01)INSERT INTO 职工(职工号,姓名,性别,职务,家庭地址,部门编号) VALUES(3062,'李二','男','经理','天河区',02)INSERT INTO 职工(职工号,姓名,性别,职务,家庭地址,部门编号) VALUES (3063,'张三','女','秘书','越秀区',01)INSERT INTO 职工(职工号,姓名,性别,职务,家庭地址,部门编号) VALUES (3064,'陈五','男','经理','海珠区',03)INSERT INTO 职工(职工号,姓名,性别,职务,家庭地址,部门编号) VALUES (3065,'刘六','女','经理助理','荔湾区',02)INSERT INTO 职工(职工号,姓名,性别,职务,家庭地址,部门编号) VALUES (3016,'赵七','男','工程师','越秀区',04)INSERT INTO 职工(职工号,姓名,性别,职务,家庭地址,部门编号) VALUES (3067,'连八','男','人事主管','黄埔区',05)INSERT INTO 职工(职工号,姓名,性别,职务,家庭地址,部门编号) VALUES (3068,'蔡九','男','出纳','白云区',02)INSERT INTO 职工(职工号,姓名,性别,职务,家庭地址,部门编号) VALUES (3069,'何十','女','会计','荔湾区',02)GOINSERT INTO 保健(保健卡编号,职工号,检查身体日期,健康状况) VALUES (01,3061,'2005-9-1','良好')INSERT INTO 保健(保健卡编号,职工号,检查身体日期,健康状况) VALUES (02,3062,'2005-9-1','良好')INSERT INTO 保健(保健卡编号,职工号,检查身体日期,健康状况) VALUES (03,3063,'2005-9-8','一般')INSERT INTO 保健(保健卡编号,职工号,检查身体日期,健康状况) VALUES (04,3064,'2005-9-8','差')INSERT INTO 保健(保健卡编号,职工号,检查身体日期,健康状况) VALUES (05,3065,'2005-9-9','良好')INSERT INTO 保健(保健卡编号,职工号,检查身体日期,健康状况) VALUES (06,3016,'2005-9-9','差')INSERT INTO 保健(保健卡编号,职工号,检查身体日期,健康状况) VALUES (07,3067,'2006-1-1','一般')INSERT INTO 保健(保健卡编号,职工号,检查身体日期,健康状况) VALUES (08,3068,'2006-1-1','差')INSERT INTO 保健(保健卡编号,职工号,检查身体日期,健康状况) VALUES (09,3069,'2006-1-1','良好')GO2.使用查询分析器检索"办公室"的科长姓名和家庭地址;SELECT 姓名,家庭地址 FROM 职工 AS E,部门 AS DWHERE E.部门编号=D.部门编号 AND E.职务='科长' AND D.部门名称='办公室'GO3.使用查询分析器检索"财务科"中健康状况为"良好"的职工姓名和家庭地址;SELECT 姓名,家庭地址 FROM 职工 AS E,部门 AS D,保健 AS BWHERE E.部门编号=D.部门编号 AND E.职工号=B.职工号 AND 部门名称='财务科' AND 健康状况='良好'GO4.用SQL语句写出,删除职工关系表中职工号为"3016"DELETE FROM 保健 WHERE 职工号='3016'DELETE FROM 职工 WHERE 职工号='3016'SELECT * FROM 职工GO5.用SQL语句写出,将职工号为"3061"的职工号的健康状况改为"一般" UPDATE 保健 SET 健康状况='一般' WHERE 职工号='3061'SELECT * FROM 保健GO6.建立健康状况为"差"的职工的视图;CREATE VIEW 健康状况差视图 AS(SELECT E.职工号,姓名,部门名称,检查身体日期FROM 职工 AS E,部门 AS D,保健 AS B WHERE E.职工号=B.职工号 AND E.部门编号=D.部门编号 AND B.健康状况='差')GOSELECT * FROM 健康状况差视图GO样题九.设某高校数据库中有如下两个基本表:学生关系S(学号,姓名,年龄,班级)选课关系SC(学号, 课程号,成绩)1.创建上述基本表,并插入必要的数据记录;CREATE DATABASE HschoolGOUSE HschoolGOCREATE TABLE S学号 Smallint primary key, 主码姓名 varchar(10) not null,年龄 Smallint,班级 SmallintGOCREATE TABLE SC学号 Smallint FOREIGN KEY REFERENCES S(学号), 外码课程号 varchar(10),成绩 SmallintGOINSERT INTO S(学号,姓名,年龄,班级) VALUES (8101,'张三',18,101) INSERT INTO S(学号,姓名,年龄,班级) VALUES (8102,'钱四',16,121) INSERT INTO S(学号,姓名,年龄,班级) VALUES (8103,'王玲',17,131) INSERT INTO S(学号,姓名,年龄,班级) VALUES (8105,'李林',19,102) INSERT INTO S(学号,姓名,年龄,班级) VALUES (8109,'赵四',18,141) INSERT INTO S(学号,姓名,年龄,班级) VALUES (8110,'李可',20,142)INSERT INTO S(学号,姓名,年龄,班级) VALUES (8201,'张飞',18,111) INSERT INTO S(学号,姓名,年龄,班级) VALUES (8302,'周瑜',16,112) INSERT INTO S(学号,姓名,年龄,班级) VALUES (8203,'王明',17,111) INSERT INTO S(学号,姓名,年龄,班级) VALUES (8305,'董庆',19,102) INSERT INTO S(学号,姓名,年龄,班级) VALUES (8409,'赵龙',18,101) INSERT INTO S(学号,姓名,年龄,班级) VALUES (8510,'李丽',20,142) GOINSERT INTO SC(学号,课程号,成绩) VALUES (8105,'C1',80) INSERT INTO SC(学号,课程号,成绩) VALUES (8101,'C1',61) INSERT INTO SC(学号,课程号,成绩) VALUES (8101,'C2',81) INSERT INTO SC(学号,课程号,成绩) VALUES (8102,'C3',66) INSERT INTO SC(学号,课程号,成绩) VALUES (8102,'C3',61) INSERT INTO SC(学号,课程号,成绩) VALUES (8103,'C3',73) INSERT INTO SC(学号,课程号,成绩) VALUES (8105,'C2',92) INSERT INTO SC(学号,课程号,成绩) VALUES (8109,'C3',84) INSERT INTO SC(学号,课程号,成绩) VALUES (8110,'C4',42) INSERT INTO SC(学号,课程号,成绩) VALUES (8201,'C5',81) INSERT INTO SC(学号,课程号,成绩) VALUES (8302,'C6',62) INSERT INTO SC(学号,课程号,成绩) VALUES (8203,'C2',71)GO2.使用查询分析器检索没有选C1或C2课的学生的学号;SELECT DISTINCT 学号 FROM SCWHERE 学号 NOT IN (SELECT 学号 FROM SC WHERE 课程号='C1' OR 课程号='C2')GO3.用SQL语句查询李林选了而王明没有选的课程号.SELECT 课程号 FROM S,SCWHERE S.学号=SC.学号 AND 姓名='李林'AND 课程号 NOT IN(SELECT 课程号 FROM S,SC WHERE S.学号=SC.学号 AND 姓名='王明') SQL 语句操作(50分)1.查询“教育系”学生的学号,姓名,性别,选修过的课程号,课程名,考试成绩,2.计算出每位学生的选课门数和平均成绩;3.检索出没有选修课程“数据库原理”和“数据结构”的学生的信息;4.重新计算出每位学生的总收入(总收入=打工收入+奖金); 5. 计算出所有单位的打工收入和奖励的总额;6.建立视图course,显示出每个学生选课的学号、选课门数、平均成绩,最高成绩。

14秋北语《数据库系统和应用》作业---精品管理资料

14秋北语《数据库系统和应用》作业---精品管理资料

14秋《数据库系统和应用》作业1试卷总分:100 测试时间:—- 试卷得分:100单选题包括本科在内的各校各科复习资料,可以联系屏幕右上的“文档贡献者"一、单选题(共20 道试题,共100 分。

)得分:100V 1。

数据库系统中的数据模型通常由( )三部分组成.A.数据结构、数据操作和完整性约束B。

数据定义、数据操作和安全性约束C. 数据结构、数据管理和数据保护D。

数据定义、数据管理和运行控制满分:5 分得分:52. DBS中“第三级存储器"是指( ).A。

磁盘和磁带B。

磁带和光盘C。

光盘和磁盘D. 快闪存和磁盘满分:5 分得分:53。

有关系R和S,R∩S的运算等价于( )。

A。

S-(R—S)B。

R—(R-S)C。

(R-S)∪SD。

R∪(R—S)满分:5 分得分:54。

常见的数据模型是_______.A. 层次模型、网状模型、关系模型B。

概念模型、实体模型、关系模型C。

对象模型、外部模型、内部模型D. 逻辑模型、概念模型、关系模型满分:5 分得分:55。

数据库的开发控制,完整性检查,安全性检查等是对数据库的()。

A. 设计B. 保护C。

操纵D. 维护满分:5 分得分:56。

在关系代数中,对一个关系做操作后,新关系的元数个数()原来关系的元素个数.A. 小于B。

等于C。

大于D。

小于或等于满分:5 分得分:57. 视图是一个“虚表",视图的构造基于()。

A。

基本表B。

视图C。

基本表或视图D. 数据字典满分:5 分得分:58。

一个结点可以有多个双亲,结点之间可以有多种联系的模型是_______.A。

网状模型B。

关系模型C。

层次模型D。

以上都有满分:5 分得分:59. 子模式DDL用来描述()。

A。

数据库的总体逻辑结构B。

数据库的局部逻辑结构C。

数据库的物理存储结构D. 数据库的概念结构满分:5 分得分:510。

在关系模型中,关系的“元数”(arity)是指()。

A. 行数B。

sql考试题及答案

sql考试题及答案

sql考试题及答案SQL考试题及答案一、选择题(每题2分,共20分)1. 下列哪个SQL语句用于查询数据?A. SELECTB. INSERTC. UPDATED. DELETE答案:A2. 以下哪个SQL语句用于删除表中的数据?A. DROP TABLEB. DELETE FROMC. TRUNCATE TABLED. ALTER TABLE答案:B3. SQL中的主键约束是什么?A. UNIQUEB. PRIMARY KEYC. FOREIGN KEYD. CHECK答案:B4. 以下哪个函数用于计算字符串的长度?A. CONCAT()B. SUBSTRING()C. LENGTH()D. UPPER()答案:C5. 以下哪个语句用于添加新的数据表?A. CREATE DATABASEB. CREATE TABLEC. ALTER TABLED. DROP TABLE答案:B6. SQL中的LIKE语句用于什么?A. 排序B. 条件搜索C. 聚合数据D. 连接表答案:B7. 以下哪个语句用于修改表结构?A. CREATE TABLEB. ALTER TABLEC. DROP TABLED. TRUNCATE TABLE答案:B8. SQL中的GROUP BY语句用于什么?A. 排序结果B. 聚合数据C. 过滤数据D. 连接表答案:B9. 以下哪个语句用于删除数据库?A. DROP TABLEB. DROP DATABASEC. DELETE FROMD. TRUNCATE TABLE答案:B10. SQL中的INNER JOIN用于什么?A. 内连接B. 外连接C. 全连接D. 交叉连接答案:A二、填空题(每空2分,共20分)1. SQL中的______语句用于插入数据到表中。

答案:INSERT INTO2. 要查询所有列,可以使用SQL中的______关键字。

答案:*3. SQL中的______语句用于删除表。

SQL练习题及答案1(合集五篇)

SQL练习题及答案1(合集五篇)

SQL练习题及答案1(合集五篇)第一篇:SQL练习题及答案1SQL练习题:商品销售数据库商品销售数据库Article(商品号 char(4),商品名char(16),单价 Numeric(8,2),库存量 int)Customer(顾客号char(4),顾客名 char(8),性别 char(2),年龄 int)OrderItem(顾客号 char(4),商品号 char(4),数量 int, 日期date)1.用SQL建立三个表,须指出该表的实体完整性和参照完整性,对性别和年龄指出用户自定义的约束条件。

(性别分成男女,年龄从10到100)。

顾客表的数据用插入语句输入数据,其它两表可用任意方式输入数据。

create table OrderItem(顾客号char(4),商品号char(4),日期datetime,数量 smallint,primary key(顾客号,商品号,日期),foreign key(商品号)references Article(商品号), foreign key(顾客号)references Custommer(顾客号));2.检索定购商品号为…0001‟的顾客号和顾客名。

select distinct 顾客号,顾客名from OrderItem where 商品号='0001'3.检索定购商品号为…0001‟或…0002‟的顾客号。

select distinct 顾客号 from OrderItem where 商品号='0001' or 商品号='0002';4.检索至少定购商品号为…0001‟和…0002‟的顾客号。

select 顾客号 from OrderItem where 商品号='0001' and 顾客号 in(select 顾客号 from OrderItem where 商品号='0002');5.检索至少定购商品号为…0001‟和…0002‟的顾客号。

SQL语句练习题(精品文档)

SQL语句练习题(精品文档)

S Q L语言一、选择题1.S Q L语言是()的语言,容易学习。

A.过程化B.非过程化C.格式化D.导航式2. S Q L语言的数据操纵语句包括S E L E C T、I N S E R T、U P D A T E、D E L E T E等。

其中最重要的,也是使用最频繁的语句是()。

A.S E L E C TB.I N S E R TC.U P D A T ED.D E L E T E3.在视图上不能完成的操作是()。

A.更新视图B.查询C.在视图上定义新的表D.在视图上定义新的视图4.S Q L语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,C R E A T E、D R O P、A L T E R语句是实现哪种功能()。

A.数据查询B.数据操纵C.数据定义D.数据控制5.S Q L语言中,删除一个视图的命令是()。

A.D E L E T EB.D R O PC.C L E A RD.R E M O V E6.在S Q L语言中的视图V I E W是数据库的()。

A.外模式B.模式C.内模式D.存储模式7.下列的S Q L语句中,()不是数据定义语句。

A.C R E A T E T A B L EB.D R O P V I E WC.C R E A T E V I E WD.G R A N T8.若要撤销数据库中已经存在的表S,可用()。

A.D E L E T E T A B L E SB.D E L E T E SC.D R O P T A B L E SD.D R O P S9.若要在基本表S中增加一列C N(课程名),可用()。

A.A D D T A B L E S(C N C H A R(8))B.A D D T A B L E S A L T E R(C N C H A R(8))C.A L T E R T A B L E S A D D(C N C H A R(8))D.A L T E R T A B L E S(A D D C N C H A R(8))10.学生关系模式S(S#,S n a m e,S e x,A g e),S的属性分别表示学生的学号、姓名、性别、年龄。

《SQL习题精选》word版

《SQL习题精选》word版

第一章绪论一,选择题1、DBS是采用了数据库技术的计算机系统,DBS是一个集合体,包含数据库、计算机硬件、软件和( C)。

A、系统分析员B、程序员C、数据库管理员D、操作员2、数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( A)。

A、DBS包括DB和DBMSB、DBMS包括DB和DBSC、DB包括DBS和DBMSD、DBS就是DB,也就是DBMS3、下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是( D)。

I.人工管理阶段II.文件系统阶段III.数据库阶段A、I 和IIB、只有IIC、II 和IIID、只有I4、下列四项中,不属于数据库系统特点的是(C ) 。

A、数据共享B、数据完整性C、数据冗余度高D、数据独立性高5、数据库系统的数据独立性体现在(B ) 。

A、不会因为数据的变化而影响到应用程序B、不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C、不会因为存储策略的变化而影响存储结构D、不会因为某些存储结构的变化而影响其他的存储结构三、简答题1、数据:描述事物的符号记录称为数据.数据的种类有文字,图形,图象,声音,正文等等.数据与其语义是不可分的。

2、数据库:数据库是长期储存在计算机内,有组织的,可共享的数据集合.数据库中的数据按一定的数据模型组织,描述和储存,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。

数据库管理系统:数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件.用于科学地组织和存储数据,高效地获取和维护数据.DBMS主要功能包括数据定义功能,数据操纵功能,数据库的运行管理功能,数据库的建立和维护功能。

3、数据库管理系统的主要功能①数据库定义功能;②数据存取功能;③数据库运行管理;④数据库的建立和维护功能。

4、试述数据库系统的特点。

数据库系统的主要特点有:一,数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。

sql习题及答案

sql习题及答案

sql习题及答案SQL习题及答案SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。

它是许多软件开发人员和数据分析师必备的技能之一。

在学习SQL的过程中,练习是非常重要的,因为它可以帮助我们更好地理解和掌握这门语言。

以下是一些常见的SQL习题及答案,供大家练习和参考:1. 查询所有学生的信息```sqlSELECT * FROM students;```2. 查询所有学生的姓名和年龄```sqlSELECT name, age FROM students;```3. 查询所有学生的姓名和年龄,并按年龄从小到大排序```sqlSELECT name, age FROM students ORDER BY age;```4. 查询所有学生的平均年龄```sqlSELECT AVG(age) FROM students;```5. 查询所有学生的姓名和其所在班级的名称```sqlSELECT , c.class_nameFROM students sJOIN classes c ON s.class_id = c.class_id;```6. 查询所有学生的姓名和其所在班级的名称,如果没有班级则显示“未分配班级”```sqlSELECT , COALESCE(c.class_name, '未分配班级')FROM students sLEFT JOIN classes c ON s.class_id = c.class_id;```7. 查询每个班级的学生数量```sqlSELECT class_id, COUNT(*) AS student_countFROM studentsGROUP BY class_id;```以上是一些常见的SQL习题及答案,希望能够帮助大家更好地理解和掌握SQL 语言。

通过不断的练习和实践,相信大家一定能够成为SQL的高手!。

java,string类练习题

java,string类练习题

java,string类练习题精品文档java,string类练习题一、选择题1. 下列String类的方法返回指定字符串的一部分A. extractstringB. substringC. SubstringD.Middlestring2(下列哪一个是正确的A) HashTable的关键字和值都允许为nullB) HashTable的关键字和值都不允许为nullC) HashTable的关键字允许为null,值不允许为null D) HashTable的关键字不允许为null,值允许为null(对于下列代码:String str1=“java”; String str2=“java”;String str3=new String;StringBuffer str4=new StringBuffer; 以下表达式的值为true的是 A) str1= =str2; C) str2= =str3;B) str1= =str4; D) str3= =str4;4(以下程序段输出结果的是public class Test {public static void main{Stringstr=“ABCDE”;str.substring;str.concat;System.out.print; }}1 / 20精品文档A) DE B) DEXYZ C) ABCDED) CDEXYZ(对于下列代码:public class Example{String str=new String; char ch[]={‘d’,’b’,’c’}; public static void main{ }public void ch ange{ str=“world”;ch[0]= ‘a’;}Example ex=new Example; ex.change;System.out.println;}B) hello and a输出结果是: A) hello and dC) world and d D) world and a(以下代码的运行结果是哪一项。

数据类型运算符与表达式练习题

数据类型运算符与表达式练习题

精品文档第三章运算符与表达式练习题一、单项选择题1.下列数据中属于“字符串常量”的是()。

A.”a” B. {ABC} C. 'abc\0' D. 'a'2.下列数据中属于“字符串常量”的是()。

A.ABC B. “ABC” C. 'abc' D. 'a'3. 在PC机中,'\n'在内存占用的字节数是()。

A. 1B. 2C. 3D. 44. 在PC机中,”a\xff”在内存占用的字节数是()。

A. 5B. 6C. 3D. 45.字符串”\”ABCD\””在内存占用的字节数是()。

A. 4B. 6C. 7D. 86. 在C语言中,合法的长整型常数是()。

A. 0LB. 49627C. 0.054838743D. 2.1869e107.在C语言中,合法的短整型常数是()。

A. OLB. 0821C. 40000D. 0x2a8.下列数据中不属于“字符常量”的是()。

A. ‘\a'B. ‘\160'C. ‘070'D. 0709.char型常量在内存中存放的是()。

A. ASCII代码值B. BCD代码值C. 内码值D. 十进制代码值10. int a=4,b=3,c=-2,d=2; 逻辑表达式a>0&&b&&c<0&&d>0的值是()。

A. 1B. 0C. -1D. 出错11.在以下一组运算符中,优先级最高的运算符是()。

A. <=B. =C. %D. &&12.设整型变量i的值为3,则计算表达式i---i后表达式的值为()。

A. 0B. 1C. 2D. 表达式出错13.设整型变量i,j=3; 则计算表达式i=j+++j后i,j的值为()。

A. 4,4B. 6,6C. 4,6D. 6,414.设整型变量a,b,c均为2,表达式a+++b++c++的结果是()。

数据库原理与应用-期末考试复习题[精品文档]

数据库原理与应用-期末考试复习题[精品文档]

数据库原理期末考试复习题一、单选题1.在数据库中存储的是(C)。

A.数据B.数据模型C.数据及数据之间的联系D.信息2.现有一个“教师”表,其中一个字段是教师的住址(字符型,20位长),如果不希望此字段包含空值,即某位教师现没有住址,则希望此字段自动填入“还没有”,应该(C)。

A.为此列创建一个check约束B.为此列创建一个foreign key约束C.为此列创建一个default约束D.为此列创建一个primary key约束3.数据库系统包括(D)。

A.DB、DBMSB.DB、DBAC.DB、DBMS、DBA、计算机硬件D.DB、DBMS、DBA、OS、计算机硬件4.假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL语句是(D)。

A.SELECT产品名称,AVG(单价)FROM产品GROUP BY单价B.SELECT产品名称,AVG(单价)FROM产品ORDER BY单价C.SELECT产品名称,AVG(单价)FROM产品ORDER BY产品名称D.SELECT产品名称,AVG(单价)FROM产品GROUP BY产品名称5.数据库中,数据的物理独立性是指(C)。

A.数据库与数据库管理系统的相互独立B.用户程序与DBMS的相互独立C.用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的D.应用程序与数据库中数据的逻辑结构相互独立6.关系数据库规范化是为解决关系数据库中(B)问题而引入的。

A.提高查询速度B.保证数据的安全性和完整性C.减少数据操作的复杂性D.插入异常、删除异常和数据冗余7.当前数据库应用系统的主流数据模型是(C)。

A.层次数据模型B.网状数据模型C.关系数据模型D.面向对象数据模型8.如果两个实体集之间的联系是m:n,转换为关系时(B)。

A.联系本身不必单独转换为一个关系B.联系本身必须单独转换为一个关系C.联系本身也可以不单独转换为一个关系D.将两个实体集合并为一个实体集9.候选码中的属性可以有(C)。

数据库练习题

数据库练习题

精品文档数据库练习题Day01~Day021.查询职员表中工资大于5600的员工姓名和工资2.查询职员表中员工号为1008的员工的姓名和部门号码3.选择职员表中工资不在6000到8000的员工的姓名和工资4.选择职员表中在20和30号部门工作的员工姓名和部门号5.选择职员表中没有管理者的员工姓名及职位, 按职位排序6.选择职员表中有奖金的员工姓名,工资和奖金,按工资倒序排列7.选择职员表中员工职位的第二个字母是a的员工姓名8.列出部门表中的部门名字和所在城市;9.显示出职员表中的不重复的职位;10.查询职员表emp中员工号、姓名、工资,以及工资提高百分之20%后的结果11.查询员工的姓名和工资数,条件限定为工资数必须大于7200,并对查询结果按入职时间进行排列,早入职排在前面,晚入职排在后面。

12. 列出除了ACCOUNT部门还有哪些部门。

1. 使用decode函数,按照下面的条件:JOB GRADE President A Manager B Analyst C Salesman DClerk E 产生类似下面形式的结果ENAME JOB GRADE Smith Clerk E2. 查询各员工的姓名ename,并显示出各员工在公司工作的月份数(即:与当前日期比较,该员精品文档.精品文档工已经工作了几个月, 用整数表示)提示:使用months_bteween函数,并用round函数四舍五入为整数3. 现有数据表Customer,其结构如下所示:cust_id NUMBER(4) Primary Key, --客户编码cname VARCHAR2(25) Not Null, --客户姓名birthday DATE, --客户生日account NUMBER. --客户账户余额假设其中已经有一些数据记录。

(1).构造SQL查询语句,列出Customer数据表中每个客户的信息。

如果客户生日未提供,则该列值显示“not available”。

专升本sql语句练习题

专升本sql语句练习题

专升本sql语句练习题专升本SQL语句练习题一、选择题1. 在SQL中,用于查询数据的命令是:A. SELECTB. UPDATEC. INSERT INTOD. DELETE2. 如果需要从数据库中删除表中的所有数据,应该使用以下哪个命令?A. DROP TABLEB. DELETE FROMC. REMOVED. CLEAR3. 在SQL查询中,用于对结果进行排序的关键字是:A. ORDER BYB. SORTC. ARRANGED. RANK4. 以下哪个语句可以添加新的列到已存在的表中?A. INSERT INTOB. ADD COLUMNC. MODIFYD. ALTER TABLE5. 在SQL中,用于更新表中数据的命令是:A. UPDATEB. MODIFYC. CHANGED. ALTER二、填空题6. 使用SQL语句查询表中所有记录时,可以使用________语句。

7. 当需要查询表中特定列的数据时,可以使用SELECT语句后跟列名,如:SELECT ________ FROM table_name。

8. 要删除表中的一条记录,可以使用DELETE FROM ________ WHERE condition。

9. 要向表中插入新的记录,可以使用________语句。

10. 要修改表中的数据,可以使用________语句,并指定条件。

三、简答题11. 请简述SQL中的JOIN语句的作用,并给出一个使用JOIN语句的示例。

12. 解释什么是子查询,并给出一个使用子查询的SQL查询语句的例子。

13. 描述如何使用GROUP BY和HAVING关键字进行数据分组和过滤分组结果。

四、操作题14. 假设有一个名为“Employees”的表,包含列:EmployeeID, FirstName, LastName, DepartmentID, Salary。

请编写SQL语句来:- 查询所有员工的姓名和部门ID。

sql练习题及答案

sql练习题及答案

sql练习题及答案SQL(Structured Query Language)是一种用于管理和操作关系型数据库的编程语言。

在这篇文章中,我们将提供一些SQL练习题及其答案,旨在帮助读者加深对SQL的理解,并提供实践操作的机会。

练习题一:学生表考虑一个名为"Students"的学生表,包含以下字段:- 学生编号(StudentID)- 学生姓名(StudentName)- 学生年级(Grade)- 学生所在学校(School)请使用SQL语句创建并插入示例数据到"Students"表中。

答案:```sqlCREATE TABLE Students (StudentID INT,StudentName VARCHAR(50),Grade INT,School VARCHAR(50));INSERT INTO Students (StudentID, StudentName, Grade, School)VALUES (1, '张三', 11, '中学A'),(2, '李四', 10, '中学B'),(3, '王五', 10, '中学A'),(4, '赵六', 12, '中学C');```练习题二:查询学生表信息请编写SQL查询语句,查询出所有学生的姓名和所在学校。

答案:```sqlSELECT StudentName, School FROM Students;```练习题三:更新学生信息假设有一位新生加入学校,学生姓名为"李华",年级为11,学校为"中学B"。

请编写SQL语句将该学生信息插入到学生表中。

答案:```sqlINSERT INTO Students (StudentName, Grade, School)VALUES ('李华', 11, '中学B');```练习题四:删除学生信息假设"赵六"这位学生已经转学离开学校,需要从学生表中将其信息删除。

SQL试题精选及答案

SQL试题精选及答案

SQL试题精选及答案1. 请写出SQL中创建新表的语句。

答案:CREATE TABLE 表名 (列1 类型, 列2 类型, ...);2. 如何在SQL中查询特定列的数据?答案:SELECT 列名 FROM 表名 WHERE 条件;3. 请解释SQL中的JOIN操作。

答案:JOIN操作用于将两个或多个表中的行组合起来,基于一个共同的列。

4. 写出SQL中更新表中数据的语句。

答案:UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2 WHERE 条件;5. 如何在SQL中删除表中的数据?答案:DELETE FROM 表名 WHERE 条件;6. 请描述SQL中的GROUP BY子句的作用。

答案:GROUP BY子句用于将取回的记录分组,可以与聚合函数一起使用,如COUNT、SUM等。

7. SQL中如何使用子查询?答案:子查询是嵌套在另一个查询中的查询,可以出现在SELECT、INSERT、UPDATE或DELETE语句中。

8. 请写出SQL中创建索引的语句。

答案:CREATE INDEX 索引名 ON 表名 (列名);9. 如何在SQL中使用事务?答案:可以使用BEGIN TRANSACTION开始事务,然后执行一系列操作,最后使用COMMIT提交事务或ROLLBACK回滚事务。

10. 请解释SQL中的主键和外键。

答案:主键是表中用来唯一标识每行数据的列或列组合,而外键是一个表中的列或列组合,它在另一个表中作为主键。

11. SQL中如何进行数据排序?答案:使用ORDER BY子句,如SELECT * FROM 表名 ORDER BY 列名ASC 或 DESC。

12. 如何在SQL中使用聚合函数?答案:聚合函数如SUM、COUNT、AVG等,可以与GROUP BY子句一起使用,对数据进行汇总。

13. 请写出SQL中插入数据的语句。

答案:INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);14. 请解释SQL中的视图。

查找某个字段最大值的记录SQL语句精品文档5页

查找某个字段最大值的记录SQL语句精品文档5页

查找某个字段最大值的记录 SQL语句select table_name.*from table_name,(select max(price) as price,pid from table_name group by pid) as table_name_temp where table_name_temp.price=table_name.price andtable_name_temp.pid=table_name.pid;--SQL codecreate table lk1 (uid int,pid int,price int,`time` date)engine=myisam;insert into lk1 values(1, 1, 100, '2007-07-01'),(1, 2, 150, '2007-07-02 '),(2, 1, 110, '2007-07-03 '),(3, 1, 120, '2007-07-04 '),(4, 2, 180, '2007-07-04 '),(3, 2, 170, '2007-07-04 '),(6, 3, 130, '2007-07-04 ');select*from lk1 where price in (select max(price) from lk1 group by pid) group by pid;--结果1:query result(3 records)uid pid price time311202007-07-04421802007-07-04631302007-07-04truncate table lk1;insert into lk1 values(1, 1, 200, '2007-07-01'),(1, 2, 200, '2007-07-02 '),(2, 1, 110, '2007-07-03 '),(3, 1, 120, '2007-07-04 '),(4, 2, 180, '2007-07-04 '),(3, 2, 170, '2007-07-04 '),(6, 3, 130, '2007-07-04 ');select*from lk1 where price in (select max(price) from lk1 group by pid) group by pid;--结果2:query result(3 records)uid pid price time112002007-07-01122002007-07-02631302007-07-04根据mysql的手册上面找到一个查询,修改了一下发现也可以实现,但是并不理解什么意思,不知道有没有人给解释一下SQL codeSELECT *FROM lk1 l1WHERE price = (SELECT MAX( l2.price )FROM lk1 l2WHERE l1.`pid` = l2.`pid` ) ;--SQL codecreate table lk1 (uid int,pid int,price int,`time` date)engine=myisam;insert into lk1 values(1, 1, 100, '2007-07-01'),(1, 2, 150, '2007-07-02 '),(2, 1, 110, '2007-07-03 '),(3, 1, 120, '2007-07-04 '),(4, 2, 180, '2007-07-04 '),(3, 2, 170, '2007-07-04 '),(6, 3, 130, '2007-07-04 ');select*from (select*from lk1 order by price desc) T group by pid;--结果1:query result(3 records)uid pid price time311202007-07-04421802007-07-04631302007-07-04truncate table lk1;insert into lk1 values(1, 1, 200, '2007-07-01'),(1, 2, 200, '2007-07-02 '),(2, 1, 110, '2007-07-03 '),(3, 1, 120, '2007-07-04 '),(4, 2, 180, '2007-07-04 '),(3, 2, 170, '2007-07-04 '),(6, 3, 130, '2007-07-04 ');select*from (select*from lk1 order by price desc) T group by pid;--结果2:query result(3 records)uid pid price time112002007-07-01122002007-07-02631302007-07-04insert into lk1 values(4, 3, 200, '2007-07-05 '),(5, 3, 210, '2007-07-05' );select*from (select*from lk1 order by price desc) T group by pid;--结果3:query result(3 records)uid pid price time112002007-07-01122002007-07-02532102007-07-05。

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

S Q L语言一、选择题1.S Q L语言是()的语言,容易学习。

A.过程化B.非过程化C.格式化D.导航式2. S Q L语言的数据操纵语句包括S E L E C T、I N S E R T、U P D A T E、D E L E T E等。

其中最重要的,也是使用最频繁的语句是()。

A.S E L E C TB.I N S E R TC.U P D A T ED.D E L E T E3.在视图上不能完成的操作是()。

A.更新视图B.查询C.在视图上定义新的表D.在视图上定义新的视图4.S Q L语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,C R E A T E、D R O P、A L T E R语句是实现哪种功能()。

A.数据查询B.数据操纵C.数据定义D.数据控制5.S Q L语言中,删除一个视图的命令是()。

A.D E L E T EB.D R O PC.C L E A RD.R E M O V E6.在S Q L语言中的视图V I E W是数据库的()。

A.外模式B.模式C.内模式D.存储模式7.下列的S Q L语句中,()不是数据定义语句。

A.C R E A T E T A B L EB.D R O P V I E WC.C R E A T E V I E WD.G R A N T8.若要撤销数据库中已经存在的表S,可用()。

A.D E L E T E T A B L E SB.D E L E T E SC.D R O P T A B L E SD.D R O P S9.若要在基本表S中增加一列C N(课程名),可用()。

A.A D D T A B L E S(C N C H A R(8))B.A D D T A B L E S A L T E R(C N C H A R(8))C.A L T E R T A B L E S A D D(C N C H A R(8))D.A L T E R T A B L E S(A D D C N C H A R(8))10.学生关系模式S(S#,S n a m e,S e x,A g e),S的属性分别表示学生的学号、姓名、性别、年龄。

要在表S中删除一个属性“年龄”,可选用的S Q L语句是()。

A.D E L E T E A g e f r o m SB.A L T E R T A B L E S D R O P A g eC.U P D A T E S A g eD.A L T E R T A B L E S‘A g e’11.有关系S(S#,S N A M E,S A G E),C(C#,C N A M E),S C(S#,C#,GR A D E)。

其中S#是学生号,S N A M E是学生姓名,S A G E是学生年龄,C#是课程号,C N A M E是课程名称。

要查询选修“A C C E S S”课的年龄不小于20的全体学生姓名的S Q L语句是S E L E C T S N A M E F R O M S,C,S C W H E R E子句。

这里的W H E R E 子句的内容是()。

A.S.S#=S C.S#a n d C.C#=S C.C#a n d S A G E>=20a n dC N A M E=‘A C C E S S’B.S.S#=SC.S#a n d C.C#=S C.C#a n d S A G E i n>=20a n dC N A M E i n‘A C C E S S’C.S A G E i n>=20a n d C N A M E i n‘A C C E S S’D.S A G E>=20a n d C N A M E=’A C C E S S’12.设关系数据库中一个表S的结构为S(S N,C N,g r a d e),其中S N为学生名,C N为课程名,二者均为字符型;g r a d e为成绩,数值型,取值范围0-100。

若要把“张二的化学成绩80分”插入S中,则可用()。

A.A D DI N T O SV A L U E S(’张二’,’化学’,’80’)B.I N S E R TI N T O SV A L U E S(’张二’,’化学’,’80’)C.A D DI N T O SV A L U E S(’张二’,’化学’,80)D.I N S E R TI N T O SV A L U E S(’张二’,’化学’,80)13.设关系数据库中一个表S的结构为:S(S N,C N,g r a d e),其中S N为学生名,C N为课程名,二者均为字符型;g r a d e为成绩,数值型,取值范围0-100。

若要更正王二的化学成绩为85分,则可用()。

A.U P D A T E SS E T g r a d e=85W H E R E S N=’王二’A N D C N=’化学’B.U P D A T E SS E T g r a d e=’85’W H E R E S N=’王二’A N D C N=’化学’C.U P D A T E g r a d e=85W H E R E S N=’王二’A N D C N=’化学’D.U P D A T E g r a d e=’85’W H E R E S N=’王二’A N D C N=’化学’14.在S Q L语言中,子查询是()。

A.返回单表中数据子集的查询语言B.选取多表中字段子集的查询语句C.选取单表中字段子集的查询语句D.嵌入到另一个查询语句之中的查询语句15.S Q L是一种()语言。

A.高级算法B.人工智能C.关系数据库D.函数型16.有关系S(S#,S N A M E,S E X),C(C#,C N A M E),S C(S#,C#,GR A D E)。

其中S#是学生号,S N A M E是学生姓名,S E X是性别,C#是课程号,C N A M E是课程名称。

要查询选修“数据库”课的全体男生姓名的S Q L语句是S E L E C T S N A M EF R O M S,C,S C W H E R E子句。

这里的W H E R E子句的内容是()。

A.S.S#= S C.S# a n d C.C#= S C.C# a n d S E X=’男’ a n d C N A M E=’数据库’B.S.S#=SC.S#a n d C.C#=S C.C#a n d S E X i n’男’a n d C N A M E i n’数据库’C.S E X’男’a n d C N A M E’数据库’D.S.S E X=’男’ a n d C N A M E=’数据库’17.若用如下的S Q L语句创建了一个表S C:C R E A T E T A B L E S C(S# C H A R(6)N O T N U L L,C# C H A R (3)N O T N U L L,S C O R E I N T E G E R,N O T E C H A R(20));向S C表插入如下行时,()行可以被插入。

A.(’’,’111’,60,必修)B.(’’,’101’,N U L L,N U L L)C.(N U L L,’103’,80,’选修’)D.(’’,N U L L,86,’’)18.假设学生关系S(S#,S N A M E,S E X),课程关系C(C #,C N A M E),学生选课关系S C(S#,C#,G R A D E)。

要查询选修“C o m p u t e r”课的男生姓名,将涉及到关系()。

A.SB.S,S CC.C,SCD.S,C,SC选择题答案:(1)B(2)A(3)C(4)C(5)B(6)A(7)D(8)C(9)C(10)B(11)A(12)D(13)A(14)D(15)C(16)A(17)B(18)D二、简答题1.试述S Q L语言的特点。

答:(1)综合统一。

S Q L语言集数据定义语言D D L、数据操纵语言D M L、数据控制语言D C L的功能于一体。

(2)高度非过程化。

用S Q L语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及S Q L语句的操作过程由系统自动完成。

(3)面向集合的操作方式。

S Q L语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。

(4)以同一种语法结构提供两种使用方式。

S Q L语言既是自含式语言,又是嵌入式语言。

作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。

(5)语言简捷,易学易用。

2.试述S Q L的定义功能。

答:S Q L的数据定义功能包括定义表、定义视图和定义索引。

S Q L语言使用C R E A T E T A B L E语句定义建立基本表,;A L T E R T A B L E语句修改基本表定义,D R O P T A B L E语句删除基本表;建立索引使用C R E A T E I N D E X语句建立索引,D R O P I N D E X语句删除索引表;S Q L语言使用C R E A T E V I E W命令建立视图,DR O P V I E W 语句删除视图。

3.用S Q L语句建立第3章习题3中的四个表。

答:对于S表:S(S N O,S N A M E,S T A T U S,C I T Y);建S表C R E A T E T A B L E S(S N O C H A R(3),S N A M E C H A R(10),S T A T U S C H A R(2),C I T Y C H A R(10));P(P N O,P N A M E,C O L O R,W E I G H T);建P表C R E A T E T A B L E P(P N O C H A R(3),P N A M E C H A R(10),C O L O R C H A R(4),W E I G H T I N T);J(J N O,J N A M E,C I T Y);建J表C R E A T E T A B L E J(J N O C H A R(3),J N A M E C H A R(10),C I T Y C H A R(10));S P J(S N O,P N O,J N O,Q T Y);建S P J表C R E A T E T A B L E S P J(S N O C H A R(3),P N O C H A R(3),J N O C H A R(3),Q T Y I N T);4.针对上题中建立的四个表试用S Q L语言完成第3章习题3中的查询。

相关文档
最新文档