一道经典的SQL笔试题

合集下载

SQL笔试题

SQL笔试题

SQL笔试题1 : This symbol, When you put infront of a line in the parameter file, signifiesa comment1. $2. @3. #4. !答案【3】2 : When you change a parameter value in the parameter file, when will that change takes affect?1. Immediately after saving the parameter file2. At the first CHECKPOINT after saving the paramter file3. When the DBWR finishes writing all the dirty buffers to the disk4. At the next instance startup答案【4】3 : ALTER SYSTEM DEFFERED command modifies the global parameters for1. existing sessions after a certain amount of time2. new sessions only3. existing and new sessions4. depends on the SPIN_COUNT initialization parameter答案【2】4 : The location where debugging trace files for back ground processes are written, is specified by1. LOGFILE_DEST2. ORACLE_HOME3. BACKGROUND_DUMP_DEST4. CORE_DUMP_DEST答案【3】5 : In case of heavy contention for latches,set the LOG_SIMULTANEOUS_COPIES initialization parameter to1. Twice the number of CPUs2. Same as the DB Block Buffers3. Same as the Shared Pool Size4. None of the above答案【4】6 : What is the first step in manually creating a new database3. Check the instance identifier for your system4. Create a parameter file答案【4】7 : Which of the following is true regarding control files1. Oracle recommeds atleast two control files stored on two separate disks2. Oracle recommeds atleast two control files stored on one disk3. Oracle recommeds to store one control file4. One control file is not enough to run a database答案【1】8 : Tom created a database with a DB_BLOCK_SIZE of 2k, he wants to increase this to 4k, what is his next step1. Issue ALTER SYSTEM SET DB_BLOCK_SIZE=4k command2. recreate the database with the new setting3. It can be done in both the ways4. the DB_BLOCK_SIZE cannot be 4k答案【2】9 : How many rollback segments are required for Oracle to startup apart from SYSTEM rollback segment1. Oracle can start with just the system rollback segment2. Oracle Needs at least 3 rollback segments before it can start3. Oracle Needs a Temp Rollback Segment before it can start4. None of the above答案【1】10 : The unit of measurement for DB_BLOCK_SIZE intialization parameter is1. BLOCKS2. BYTE3. PAGE4. ROW答案【2】11 : This table space is a must before you run the database instance1. ROLLBACK2. TOOLS3. TEMP4. SYSTEM答案【4】12 : Which initialization parameter determines the rollback segments that can be used by Oracle2. LOGFILE GROUP3. ROLLBACK_SEGMENTS4. DBA_ROLLBACK_SEGS答案【3】13 : Which of the following is a valid but undocumented parameter in Oracle1. _CORRUPT_RBS2. _CORRUPT_REDO3. _CORRUPT_ROLLBACK_SEGMENTS4. None of the above答案【3】14 :Physical Disk Resources in an Oracle Database are1. Control Files2. Redo Log Files3. Data Files4. All of the above答案【4 】15 :What is a Schema1. A Physical Organization of Objects in the Database2. A Logical Organization of Objects in the Database3. A Scheme Of Indexing4. None of the above答案【2 】16:Oracle Instance is1. Oracle Memory Structures2. Oracle I/O Structures3. Oracle Background Processes4. All of the Above答案【4】17.关系数据库中的视图属于4 个数据抽象级别中的(A )A 外部模型B 概念模型C 逻辑模型D 物理模型18.在下列关于关系的陈述中,错误的是(B )B 表中任意两列的值不能相同C ⾏在表中的顺序⽆关紧要D 列在表中的顺序⽆关紧要19.为了防⽌⼀个⽤户的⼯作不适当地影响另⼀个⽤户,应该采取(C )A 完整性控制B 安全性控制C 并发控制D 访问控制20.关系数据库中,实现实体之间的联系是通过表与表之间的(D )A 公共索引B 公共存储C 公共元组D 公共属性21.在MS SQL Server 中,⽤来显⽰数据库信息的系统存储过程是(D)A sp_ dbhelpB sp_ dbC sp_ helpD sp_ helpdb22.下⾯系统中不属于关系数据库管理系统的是(C )A OracleB MS SQL ServerC IMSD DB223.SQL 语⾔中,删除⼀个表的命令是(B)A DELETEB DROPC CLEARD REMORE24.如果在关系的分⽚过程中使⽤了选择操作,则不可能是(B )A ⽔平分⽚B 垂直分⽚C 导出分⽚D 混合分⽚25.在⼀个实体集中,⼀个实体实例(⼀⾏)与另外多个实例(多⾏)相关,则这个实体称为(A)C 复合实体D 联系实体26.存在⼀个等待事务集{T0,T1,?,T n},其中T0 正等待被T1 锁住的数据项,T1 正等待被T2 锁住的数据项,T n-1 正等待被T n 锁住的数据项,且T n 正等待被T0 锁住的数据项,则系统的⼯作状态处于(D )A 并发处理B 封锁C 循环D 死锁27.在分布式数据库中,若存取数据时只需指出⽚段名称,不必指出⽚段地址,则称系统具有(B )A ⽚段透明性B 地址透明性C 局部映象透明性D 异地透明性28.某学校规定,每⼀个班级⾄多有50 名学⽣,⾄少有10 名学⽣;每⼀名学⽣必须属于⼀个班级。

sql基础笔试题

sql基础笔试题

sql基础笔试题含解答共20道1. 查询所有表名```sql--解答SHOW TABLES;```2. 查询表中所有列名和数据类型```sql--解答DESCRIBE table_name;```3. 查询表中所有数据```sql--解答SELECT * FROM table_name;```4. 查询表中满足条件的数据```sql--解答SELECT * FROM table_name WHERE column_name = 'value';```5. 查询表中指定列的数据```sql--解答SELECT column1, column2 FROM table_name;```6. 查询表中数据的总行数```sql--解答SELECT COUNT(*) FROM table_name;```7. 查询表中数据的平均值```sql--解答SELECT AVG(column_name) FROM table_name;```8. 查询表中数据的最大值和最小值```sql--解答SELECT MAX(column_name), MIN(column_name) FROM table_name;```9. 查询表中数据的总和```sql--解答SELECT SUM(column_name) FROM table_name;```10. 查询表中去重后的数据```sql--解答SELECT DISTINCT column_name FROM table_name;```11. 查询表中数据按某列升序排序```sql--解答SELECT * FROM table_name ORDER BY column_name ASC;```12. 查询表中数据按某列降序排序```sql--解答SELECT * FROM table_name ORDER BY column_name DESC;```13. 查询表中指定范围的数据```sql--解答SELECT * FROM table_name WHERE column_name BETWEEN value1 AND value2; ```14. 插入数据```sql--解答INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2');```15. 更新数据```sql--解答UPDATE table_name SET column_name = 'new_value' WHERE condition;```16. 删除数据```sql--解答DELETE FROM table_name WHERE condition;```17. 使用聚合函数计算分组后的数据```sql--解答SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;```18. 使用JOIN进行表连接查询```sql--解答SELECT * FROM table1 JOIN table2 ON table1.column_name = table2.column_name;```19. 使用子查询```sql--解答SELECT column_name FROM table_name WHERE column_name IN (SELECT column_name FROM another_table);```20. 创建新表```sql--解答CREATE TABLE new_table AS SELECT * FROM old_table;```。

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。

大一sql数据库考试题及答案

大一sql数据库考试题及答案

大一sql数据库考试题及答案一、单项选择题(每题2分,共20分)1. SQL(Structured Query Language)是一种用于_______的语言。

A. 数据库管理B. 操作系统C. 网络通信D. 编程开发答案:A2. 在SQL中,用于查询数据库中数据的语句是_______。

A. INSERTB. UPDATEC. DELETED. SELECT答案:D3. 如果需要向数据库表中插入新的数据行,应使用_______语句。

A. SELECTB. INSERTC. UPDATED. DELETE答案:B4. 在SQL中,用于修改表中数据的语句是_______。

A. INSERTB. UPDATEC. DELETED. SELECT5. 用于删除数据库表中数据的SQL语句是_______。

A. INSERTB. UPDATEC. DELETED. SELECT答案:C6. SQL中的_______关键字用于定义查询结果中返回的列。

A. WHEREB. FROMC. SELECTD. INTO答案:C7. 在SQL查询中,使用_______关键字可以对结果进行排序。

A. ORDER BYB. GROUP BYC. HAVINGD. WHERE答案:A8. 当需要从多个表中查询数据时,应使用_______语句。

A. SELECTB. INSERTC. UPDATED. JOIN答案:D9. SQL中的_______子句用于指定查询条件。

B. FROMC. GROUP BYD. HAVING答案:A10. 在SQL中,使用_______关键字可以将查询结果存储到一个新表或现有表中。

A. INTOB. FROMC. SELECTD. INSERT答案:A二、多项选择题(每题3分,共15分)1. SQL支持的数据类型包括_______。

A. 整型B. 浮点型C. 字符型D. 日期型答案:A, B, C, D2. 在SQL中,以下哪些操作可以用于数据的更新?A. INSERTB. UPDATEC. DELETED. SELECT答案:B, C3. 下列哪些关键字用于SQL查询中分组数据?A. WHEREB. GROUP BYC. HAVINGD. ORDER BY答案:B, C4. 在创建数据库表时,以下哪些约束是常用的?A. PRIMARY KEYB. FOREIGN KEYC. UNIQUED. CHECK答案:A, B, C, D5. SQL中用于数据聚合的函数包括_______。

SQL笔试I经典44题及答案解析~

SQL笔试I经典44题及答案解析~

SQL笔试I经典44题及答案解析~今天这篇文章,是关于44道经典SQL测试题:01建表语句createtableStudent(sidvarchar(10),snamevarchar(10),s agedatetime,ssexnvarchar(10));insertintoStudentvalues('01','赵雷','1990-01-01','男');insertintoStudentvalues('02','钱电','1990-12-21','男');insertintoStudentvalues('03','孙风','1990-05-20','男');insertintoStudentvalues('04','李云','1990-08-06','男');insertintoStudentvalues('05','周梅','1991-12-01','女');insertintoStudentvalues('06','吴兰','1992-03-01','女');insertintoStudentvalues('07','郑竹','1989-07-01','女');insertintoStudentvalues('08','王菊','1990-01-20','女');createtableCourse(cidvarchar(10),cnamevarchar(10),ti dvarchar(10));insertintoCoursevalues('01','语文','02');insertintoCoursevalues('02','数学','01');insertintoCoursevalues('03','英语','03');createtableTeacher(tidvarchar(10),tnamevarchar(10));insertintoTeachervalues('01','张三'); insertintoTeachervalues('02','李四'); insertintoTeachervalues('03','王五');createtableSC(sidvarchar(10),cidvarchar(10),scoredeci mal(18,1));insertintoSCvalues('01','01',80); insertintoSCvalues('01','02',90); insertintoSCvalues('01','03',99); insertintoSCvalues('02','01',70); insertintoSCvalues('02','02',60); insertintoSCvalues('02','03',80); insertintoSCvalues('03','01',80); insertintoSCvalues('03','02',80); insertintoSCvalues('03','03',80); insertintoSCvalues('04','01',50); insertintoSCvalues('04','02',30); insertintoSCvalues('04','03',20);insertintoSCvalues('05','01',76);insertintoSCvalues('05','02',87);insertintoSCvalues('06','01',31);insertintoSCvalues('06','03',34);insertintoSCvalues('07','02',89);insertintoSCvalues('07','03',98);02表结构预览--学生表Student(SId,Sname,Sage,Ssex)--SId学生编号,Sname学生姓名,Sage出生年月,Ssex学生性别--课程表Course(CId,Cname,TId)--CId课程编号,Cname课程名称,TId教师编号--教师表Teacher(TId,Tname)--TId教师编号,Tname教师姓名--成绩表SC(SId,CId,score)--SId学生编号,CId课程编号,score分数1.查询“01”课程比“02”课程成绩高的所有学生的学号;selectdistinctt1.sidassidfrom(select*fromscwherecid='01')t1leftjoin(select*fromscwherecid='02')t2ont1.sid=t2.sidwheret1.score>t2.score2.查询平均成绩大于60分的同学的学号和平均成绩;selectsid,avg(score)fromscgroupbysidhavingavg(score)>603.查询所有同学的学号、姓名、选课数、总成绩selectstudent.sidassid,sname,count(distinctcid)course_cnt,sum(score)astotal_scorefromstudentleftjoinsconstudent.sid=sc.sidgroupbysid,sname4.查询姓“李”的老师的个数;selectcount(distincttid)asteacher_cnt fromteacherwheretnamelike'李%'5.查询没学过“张三”老师课的同学的学号、姓名;selectsid,snamefromstudentwheresidnotin(selectsc.sidfromteacherleftjoincourseonteacher.tid=course.tidleftjoinsconcourse.cid=sc.cidwhereteacher.tname='张三')6.查询学过“01”并且也学过编号“02”课程的同学的学号、姓名;selectt.sidassid,snamefrom(selectsid,count(if(cid='01',score,null))ascount1,count(if(cid='02',score,null))ascount2fromscgroupbysidhavingcount(if(cid='01',score,null))>0andcount(if(cid ='02',score,null))>0)tleftjoinstudentont.sid=student.sid7.查询学过“张三”老师所教的课的同学的学号、姓名;selectstudent.sid,snamefrom(selectdistinctcidfromcourseleftjointeacheroncourse.tid=teacher.tidwhereteacher.tname='张三')courseleftjoinsconcourse.cid=sc.cidleftjoinstudentonsc.sid=student.sidgroupbystudent.sid,sname8.查询课程编号“01”的成绩比课程编号“02”课程低的所有同学的学号、姓名;selectt1.sid,snamefrom(selectdistinctt1.sidassidfrom(select*fromscwherecid='01')t1leftjoin(select*fromscwherecid='02')t2ont1.sid=t2.sidwheret1.score>t2.score)t1leftjoinstudentont1.sid=student.sid9.查询所有课程成绩小于60分的同学的学号、姓名;selectt1.sid,snamefrom(selectsid,max(score)fromscgroupbysidhavingmax(score<60))t1leftjoinstudentont1.sid=student.sid10.查询没有学全所有课的同学的学号、姓名;selectt1.sid,snamefrom(selectcount(cid),sidfromscgroupbysidhavingcount(cid)<(selectcount(distinctcid)fromcourse) )t1leftjoinstudentont1.sid=student.sid11.查询至少有一门课与学号为“01”的同学所学相同的同学的学号和姓名;distinctsc.sidfrom(selectcidfromscwheresid='01')t1leftjoinscont1.cid=sc.cid12.查询和"01"号的同学学习的课程完全相同的其他同学的学号和姓名#注意是和'01'号同学课程完全相同但非学习课程数相同的,这里我用左连接解决这个问题selectt1.sid,snamefrom(sc.sid,count(distinctsc.cid)from(selectcidfromscwheresid='01')t1#选出01的同学所学的课程leftjoinscont1.cid=sc.cidgroupbysc.sidhavingcount(distinctsc.cid)=(selectcount(distinctcid)fr omscwheresid='01'))t1leftjoinstudentont1.sid=student.sidwheret1.sid!='01'13.把“SC”表中“张三”老师教的课的成绩都更改为此课程的平均成绩;#暂跳过update题目14.查询没学过"张三"老师讲授的任一门课程的学生姓名selectsnamefromstudentwheresidnotin(selectdistinctsidfromscleftjoincourseonsc.cid=course.cidleftjointeacheroncourse.tid=teacher.tidwheretname='张三')15.查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩selectt1.sid,sname,avg_scorefrom(selectsid,count(if(score<60,cid,null)),avg(score)asavg_scorefromscgroupbysidhavingcount(if(score<60,cid,null))>=2)t1leftjoinstudentont1.sid=student.sid16.检索"01"课程分数小于60,按分数降序排列的学生信息selectsid,if(cid='01',score,100)fromscwhereif(cid='01',score,100)<60orderbyif(cid='01',score,100)desc17.按平均成绩从高到低显示所有学生的平均成绩selectsid,avg(score)fromscgroupbysidorderbyavg(score)desc18.查询各科成绩最高分、最低分和平均分:以如下形式显示:课程ID,课程name,最高分,最低分,平均分,及格率selectsc.cid,cname,max(score)asmax_score,min(score)asmin_score,avg(score)asavg_score,count(if(score>=60,sid,null))/count(sid)aspass_ratefromscleftjoincourseonsc.cid=course.cidgroupbysc.cid19.按各科平均成绩从低到高和及格率的百分数从高到低顺序#这里先按照平均成绩排序,再按照及格百分数排序,selectcid,avg(score)asavg_score,count(if(score>=60,sid,null))/count(sid)aspass_rate fromscgroupbycidorderbyavg_score,pass_ratedesc20.查询学生的总成绩并进行排名selectsid,sum(score)assum_scorefromscgroupbysidorderbysum_scoredesc21.查询不同老师所教不同课程平均分从高到低显示selecttid,avg(score)asavg_scorefromcourseleftjoinsconcourse.cid=sc.cidgroupbytidorderbyavg_scoredesc22.查询所有课程的成绩第2名到第3名的学生信息及该课程成绩selectsid,rank_num,score,cidfrom(selectrank()over(partitionbycidorderbyscoredesc)asrank_nu m,sid,score,cidfromsc)twhererank_numin(2,3)23.统计各科成绩各分数段人数:课程编号,课程名称,[100-85],[85-70],[70-60],[0-60]及所占百分比selectsc.cid,cname,count(if(scorebetween85and100,sid,null))/count(sid),count(if(scorebetween70and85,sid,null))/count(sid),count(if(scorebetween60and70,sid,null))/count(sid),count(if(scorebetween0and60,sid,null))/count(sid)fromscleftjoincourseonsc.cid=course.cid groupbysc.cid,cname24.查询学生平均成绩及其名次selectsid,avg_score,rank()over(orderbyavg_scoredesc) from(selectsid,avg(score)asavg_scorefromscgroupbysid)t25.查询各科成绩前三名的记录selectsid,cid,rank1from(selectcid,sid,rank()over(partitionbycidorderbyscoredesc)asrank1 fromsc)twhererank1<=326.查询每门课程被选修的学生数selectcount(sid),cidfromscgroupbycid27.查询出只选修了一门课程的全部学生的学号和姓名selectsidfromscgroupbysidhavingcount(cid)=128.查询男生、女生人数selectssex,count(distinctsid)fromstudentgroupbyssex 29.查询名字中含有"风"字的学生信息selectsid,snamefromstudentwheresnamelike'%风%'30.查询同名同性学生名单,并统计同名人数selectssex,sname,count(sid)fromstudentgroupbyssex,snamehavingcount(sid)>=231.查询1990年出生的学生名单(注:Student表中Sage列的类型是datetime)selectsid,sname,sagefromstudentwhereyear(sage)=199032.查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列selectcid,avg(score)asavg_scorefromscgroupbycidorderbyavg_score,ciddesc33.查询不及格的课程,并按课程号从大到小排列selectcid,sid,scorefromscwherescore<60orderbyciddesc,sid34.查询课程编号为"01"且课程成绩在60分以上的学生的学号和姓名;selectsid,cid,scorefromscwherecid='01'andscore>6035.查询选修“张三”老师所授课程的学生中,成绩最高的学生姓名及其成绩selectsc.sid,sname,cname,scorefromscleftjoincoursestyle="font-weight:600;">=course.cidleftjointeacherstyle="font-weight:600;">=teacher.tidleftjoinstudentstyle="font-weight:600;">=student.sidwheretname='张三'orderbyscoredesclimit1;36.查询每门功课成绩最好的前两名selectcid,sid,rank1from(selectcid,sid,rank()over(partitionbycidorderbyscoredesc)asrank1fromsc)twhererank1<=237.统计每门课程的学生选修人数(超过5人的课程才统计)。

sql笔试题及答案

sql笔试题及答案

sql笔试题及答案1. 题目1:查询员工表中工资大于5000的员工信息,并按照工资降序排列。

答案:SELECT * FROM 员工表 WHERE 工资 > 5000 ORDER BY 工资DESC;解析:使用SELECT语句查询员工表中满足工资大于5000的记录,并使用ORDER BY子句按照工资字段降序排列。

2. 题目2:统计订单表中每个客户的订单总数,并按照订单总数升序排列。

答案:SELECT 客户, COUNT(订单编号) AS 订单总数 FROM 订单表GROUP BY 客户 ORDER BY 订单总数 ASC;解析:使用SELECT语句查询订单表中每个客户的订单总数,并使用GROUP BY子句按照客户字段进行分组,COUNT函数用于统计订单编号,AS关键字用于为统计结果起别名,ORDER BY子句按照订单总数字段升序排列。

3. 题目3:查询学生表中不重复的学生姓名和对应的年龄。

答案:SELECT DISTINCT 学生姓名, 年龄 FROM 学生表;解析:使用SELECT DISTINCT语句查询学生表中不重复的学生姓名和对应的年龄。

4. 题目4:查询订单表中订单金额最大的订单信息。

答案:SELECT * FROM 订单表 WHERE 订单金额 = (SELECT MAX(订单金额) FROM 订单表);解析:使用SELECT语句查询订单表中订单金额等于最大订单金额的订单信息,使用子查询和MAX函数找出最大订单金额。

5. 题目5:查询销售表中每个月份的总销售金额。

答案:SELECT DATE_FORMAT(销售日期, '%Y-%m') AS 月份, SUM(销售金额) AS 总销售金额 FROM 销售表 GROUP BY DATE_FORMAT(销售日期, '%Y-%m');解析:使用SELECT语句查询销售表中每个月份的总销售金额,使用DATE_FORMAT函数将销售日期格式化成年月的形式,并使用SUM函数统计销售金额,使用GROUP BY子句按照月份进行分组。

sql基础考试题及答案

sql基础考试题及答案

sql基础考试题及答案一、单项选择题(每题2分,共10题)1. SQL中的“SELECT”语句用于执行什么操作?A. 更新数据B. 删除数据C. 查询数据D. 插入数据答案:C2. 在SQL中,如何使用通配符来匹配任意字符?A. %B. _C. *D. @答案:A3. SQL中的“GROUP BY”子句用于什么?A. 排序数据B. 过滤数据C. 分组数据D. 连接数据答案:C4. “INNER JOIN”在SQL中表示什么类型的连接?A. 内连接B. 外连接C. 交叉连接D. 自连接答案:A5. SQL中的“WHERE”子句用于什么?A. 选择数据B. 排序数据C. 过滤数据D. 分组数据答案:C6. “LIKE”操作符在SQL中用于什么?A. 执行算术运算B. 执行逻辑运算C. 执行字符串匹配D. 执行数据类型转换答案:C7. SQL中的“HAVING”子句与“WHERE”子句的主要区别是什么?A. “HAVING”用于过滤分组后的数据B. “WHERE”用于过滤分组后的数据C. “HAVING”和“WHERE”功能相同D. “HAVING”用于排序数据答案:A8. “UNION”操作符在SQL中用于合并两个或多个查询结果集,它如何处理重复行?A. 自动删除重复行B. 保留所有重复行C. 只保留第一个查询的重复行D. 只保留第二个查询的重复行答案:A9. 在SQL中,如何使用“AS”关键字?A. 重命名表B. 重命名列C. 创建新表D. 删除表答案:B10. SQL中的“ORDER BY”子句用于什么?A. 过滤数据B. 分组数据C. 排序数据D. 更新数据答案:C二、多项选择题(每题3分,共5题)1. SQL中哪些子句可以用于限制查询结果的数量?A. LIMITB. TOPC. FETCHD. OFFSET答案:A, B, C2. 下列哪些是SQL中合法的数据类型?A. VARCHARB. INTC. DATED. BLOB答案:A, B, C, D3. 在SQL中,哪些操作符用于比较?A. =B. <>C. LIKED. BETWEEN答案:A, B, D4. SQL中的哪些关键字用于创建数据库对象?A. CREATEB. ALTERC. DROPD. SELECT答案:A, B, C5. 下列哪些是SQL中的聚合函数?A. COUNTB. SUMC. AVGD. MAX答案:A, B, C, D三、填空题(每题2分,共5题)1. SQL中的“____”关键字用于创建新表。

SQL 数据库基础考试

SQL 数据库基础考试

SQL 数据库基础考试(答案见尾页)一、选择题1. SQL 中的哪个关键字用于指定查询结果的排序?A. ORDER BYB. GROUP BYC. DISTINCTD. HAVING2. 在 SQL 中,用于计算两个日期之间相差的天数的函数是什么?A. DATEADDB. DATEDIFFC. TIMESTAMPDIFFD. AVG3. SQL 中的哪个操作符用于修改现有数据?A. INSERTB. UPDATEC. DELETED. CREATE4. 在 SQL 中,用于从表中选择所有列的子查询是哪种类型?A. 单行子查询B. 多行子查询C. 子查询D. 嵌套子查询5. SQL 中的哪个关键字用于将查询结果保存到新表中?A. INSERT INTOB. CREATE TABLEC. SELECT INTOD. ALTER TABLE6. 在 SQL 中,用于限制查询结果数量的关键字是什么?A. LIMITB. OFFSETC. FETCHD. ORDER BY7. SQL 中的哪个操作符用于组合多个条件?A. ANDB. ORC. NOTD. BETWEEN8. 在 SQL 中,用于删除表中所有数据的命令是什么?A. DELETEB. DROPC. TRUNCATED. DELETE FROM9. SQL 中的哪个函数用于返回字符串的长度?A. LENGTHB. STRLENC. CHARACTER_LENGTHD. CONCAT10. 在 SQL 中,用于按列对查询结果进行分组的关键字是什么?A. GROUP BYB. ORDER BYC. DISTINCTD.HAVING11. SQL 中的哪一命令可以用来执行查询操作?A. SELECTB. INSERTC. UPDATED. DELETE12. 在 SQL 中,如果要修改表结构,应该使用哪一命令?A. ALTER TABLEB. CREATE TABLEC. DROP TABLED. REPLACE TABLE13. SQL 中的哪一命令可以用来创建一个新的数据表?A. CREATE TABLEB. ALTER TABLEC. DROP TABLED. REPLACE TABLE14. 在 SQL 中,假设你有一个名为 "students" 的表,可以通过哪一命令来查看学生的姓名和年龄?A. SELECT name, age FROM students;B. SELECT * FROM students;C. INSERT INTO students (name, age) VALUES ('张三', 20);D. DELETE FROM students WHERE age > 18;15. 在 SQL 中,如果要删除一个名为 "students" 的表,应该使用哪一命令?A. DROP TABLE students;B. DELETE TABLE students;C. CASCADE TABLE students;D. TRUNCATE TABLE students;16. SQL 中的哪一命令可以用来为表中的某一列设置默认值?A. ALTER TABLEB. CREATE TABLEC. MODIFY TABLED. ALTER COLUMN17. 在 SQL 中,如果要修改一个已存在的表的列名,应该使用哪一命令?A. ALTER TABLEB. CREATE TABLEC. MODIFY TABLED. ALTER COLUMN18. SQL 中的哪一命令可以用来排序查询结果?A. ORDER BYB. GROUP BYC. DISTINCTD. HAVING19. 在 SQL 中,假设你有一个名为 "orders" 的表,可以通过哪一命令来计算订单总金额?A. SELECT SUM(amount) FROM orders;B. SELECT AVG(amount) FROM orders;C. SELECT COUNT(orderID) FROM orders;D. SELECT MAX(amount) FROM orders;20. SQL 中的哪一命令可以用来插入一个新的记录到表中?A. INSERT INTOB. CREATEC. REPLACED. ALTER21. SQL 中的哪个关键字用于指定查询结果的排序方向?A. ORDER BYB. GROUP BYC. HAVINGD. DISTINCT22. 在 SQL 中,用于修改现有数据表结构的命令是?A. CREATE TABLEB. ALTER TABLEC. DELETE TABLED. DROP TABLE23. SQL 中的哪个函数用于返回当前日期和时间?A. NOW()B. CURRENT_DATE()C. LOCALTIME()D. DATE()24. 在 SQL 中,用于条件筛选的运算符是?A. =B. !=C. >D. <=25. SQL 中的哪个语句用于插入新的记录?A. INSERT INTOB. UPDATEC. DELETED. CREATE26. 在 SQL 中,用于删除表中所有记录的命令是?A. DELETE FROMB. DROP TABLEC. TRUNCATE TABLED. DELETE27. SQL 中的哪个运算符用于执行算术运算?A. +B. -C. *D. /28. 在 SQL 中,用于分组查询结果的运算符是?A. ORDER BYB. GROUP BYC. HAVINGD. DISTINCT29. 在 SQL 中,用于连接两个或多个表的运算符是?B. UNIONC. INTERSECTD. EXCEPT30. 在 SQL 中,如果要删除一个表,应该使用哪一命令?A. DROP TABLEB. DELETE TABLEC. TRUNCATE TABLED. DELETE31. SQL 中的哪一命令可以用来查看表的结构?A. DESCRIBE TABLEB. SHOW TABLESC. EXPLAIN TABLED. SELECT * FROM INFORMATION_SCHEMA.TABLES32. 在 SQL 中,如果要修改表中的数据,应该使用哪一命令?A. INSERTB. UPDATEC. DELETED. CREATE33. SQL 中的哪一命令可以用来从一个表复制数据到另一个表?A. INSERT INTO ... SELECTB. CREATE TABLE ... LIKEC. INSERT INTO ... VALUESD. DELETE FROM ... JOIN34. 在 SQL 中,如果要排序查询结果,应该使用哪一命令?A. ORDER BYB. GROUP BYC. HAVINGD. DISTINCT35. SQL 中的哪一命令可以用来限制查询结果的数量?B. OFFSETC. FETCHD. SKIP36. 在 SQL 中,如果要查看当前数据库,应该使用哪一命令?A. SHOW DATABASESB. USE DATABASEC. SELECT * FROM INFORMATION_SCHEMA.DATABASESD. DESCRIBE DATABASES37. SQL 中的哪一命令可以用来从表中检索所有列?A. SELECT *B. SELECT DISTINCT *C. SELECT ALL *D. SELECT *38. 在 SQL 中,哪种数据类型允许存储文本字符串?A. INTB. VARCHARC. DATED. TIME39. SQL 中的哪一命令可以用来修改现有表结构?A. CREATE TABLEB. ALTER TABLEC. DROP TABLED. REPLACE TABLE40. 在 SQL 中,哪种子查询可以在主查询中用作条件?A. 带有 EXISTS 的子查询B. 带有 IN 的子查询C. 带有 ANY 的子查询D. 带有 ALL 的子查询41. SQL 中的哪一命令可以用来删除表中的所有行?A. DELETEB. TRUNCATEC. DROPD. DELETE ALL42. 在 SQL 中,哪种类型的约束可以用来确保字段值不重复?A. 主键约束B. 外键约束C. 唯一约束D. 非空约束43. 在 SQL 中,哪种类型的约束可以用来限制字段值的取值范围?A. 主键约束B. 外键约束C. 唯一约束D. 检查约束44. 在 SQL 中,哪种命令可以用来插入新的记录?A. INSERT INTOB. REPLACE INTOC. DELETED. CREATE二、问答题1. 什么是数据库管理系统(DBMS)?2. 关系数据库模型有哪些类型?3. 什么是SQL语言?4. 什么是数据库事务?为什么事务很重要?5. 什么是数据库索引?索引有什么优点?6. 并发控制:索引有助于提高数据库系统的并发性能,避免多个并发事务之间的冲突。

招聘sql笔试题及答案

招聘sql笔试题及答案

招聘sql笔试题及答案招聘SQL笔试题及答案1. 题目一:查询员工工资高于平均工资的员工信息要求:从员工表中查询出工资高于平均工资的员工的所有信息。

SQL语句:```sqlSELECT * FROM employeesWHERE salary > (SELECT AVG(salary) FROM employees);```答案解析:此查询首先计算了员工表中所有员工的平均工资,然后从员工表中选出那些工资高于该平均工资的员工信息。

2. 题目二:统计每个部门的员工人数要求:列出每个部门的员工人数。

SQL语句:```sqlSELECT department_id, COUNT(*) AS employee_countFROM employeesGROUP BY department_id;```答案解析:通过GROUP BY子句对部门ID进行分组,并使用COUNT 函数计算每个部门的员工人数。

3. 题目三:查询工资最高的员工信息要求:查询工资最高的员工的所有信息。

SQL语句:```sqlSELECT * FROM employeesWHERE salary = (SELECT MAX(salary) FROM employees);```答案解析:此查询首先找出员工表中工资最高的值,然后选择所有工资等于该值的员工信息。

4. 题目四:找出工资在第三高的员工信息要求:查询工资排名第三高的员工的所有信息。

SQL语句:```sqlSELECT * FROM employeesWHERE salary = (SELECT salary FROM (SELECT salaryFROM employeesORDER BY salary DESCLIMIT 1 OFFSET 2) AS subquery);```答案解析:通过子查询先找出工资最高的三个员工,然后选择工资等于第三个最高工资的员工信息。

5. 题目五:查询所有员工的姓名、工资以及工资等级要求:根据工资将员工分为高、中、低三个等级。

sql笔试题及答案

sql笔试题及答案

sql笔试题及答案一、选择题1. SQL中的INNER JOIN和OUTER JOIN有什么区别?A. INNER JOIN用于查询两个表中有关联的数据,而OUTER JOIN用于查询所有数据,包括没有关联的数据。

B. INNER JOIN只能查询单个表,OUTER JOIN可以查询多个表。

C. INNER JOIN和OUTER JOIN没有区别,只是不同的命名方式。

D. 以上都不是。

答案:A2. 如何在SQL中创建一个新表?A. 使用CREATE TABLE语句。

B. 使用INSERT INTO语句。

C. 使用SELECT INTO语句。

D. 使用UPDATE语句。

答案:A3. 在SQL中,如何删除表中的重复记录?A. 使用DELETE语句。

B. 使用DROP语句。

C. 使用DISTINCT关键字。

D. 使用GROUP BY语句。

答案:C4. 以下哪个SQL语句用于查询表中的数据?A. SELECT * FROM table_name;B. INSERT INTO table_name (column1, column2) VALUES (value1, value2);C. UPDATE table_name SET column1 = value1 WHERE condition;D. DELETE FROM table_name WHERE condition;答案:A5. 如何在SQL中对查询结果进行排序?A. 使用ORDER BY子句。

B. 使用GROUP BY子句。

C. 使用HAVING子句。

D. 使用COUNT()函数。

答案:A二、填空题1. 在SQL中,______关键字用于从表中选择唯一的值。

答案:DISTINCT2. 若要在SQL中查询某个字段的平均值,应使用______函数。

答案:AVG()3. ______语句可以用来向数据库表中添加新的数据行。

答案:INSERT INTO4. 若要在SQL中查询特定条件下的数据,应使用______子句。

sql公共基础考试题及答案

sql公共基础考试题及答案

sql公共基础考试题及答案一、选择题(每题2分,共20分)1. SQL代表什么?A. Simple Query LanguageB. Structured Query LanguageC. Standard Query LanguageD. System Query Language答案:B2. 在SQL中,哪个命令用于显示数据库中的所有表?A. SHOW TABLESB. LIST TABLESC. DISPLAY TABLESD. PRINT TABLES答案:A3. SQL中的主键是什么?A. 一个可以为空的字段B. 一个必须包含唯一值的字段C. 一个可以重复的字段D. 一个可以包含NULL值的字段答案:B4. SQL中的外键用于实现什么?A. 表的删除B. 表的更新C. 表的关联D. 表的索引答案:C5. 在SQL中,如何删除一个表?A. REMOVE TABLE table_nameB. DELETE TABLE table_nameC. DROP TABLE table_nameD. CLEAR TABLE table_name答案:C6. SQL中的LIKE语句用于什么?A. 计算数值B. 执行算术运算C. 搜索列中的指定模式D. 排序数据答案:C7. SQL中的事务是什么?A. 一组必须一起执行的SQL语句B. 一个单一的SQL语句C. 一组不相关的SQL语句D. 一个数据库连接答案:A8. 在SQL中,哪个命令用于添加新列到已存在的表?A. ADD COLUMNB. INSERT COLUMNC. CREATE COLUMND. APPEND COLUMN答案:A9. SQL中的索引用于什么?A. 存储数据B. 排序数据C. 提高查询性能D. 计算数据答案:C10. 在SQL中,哪个命令用于从表中删除行?A. REMOVEB. DELETEC. DROPD. ERASE答案:B二、填空题(每题2分,共20分)1. SQL中的________语句用于插入新行到表中。

sql经典笔试题一(含答案)

sql经典笔试题一(含答案)

二编写SQL语句(5分/题)501) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话2) 修改学生表的结构,添加一列信息,学历3) 修改学生表的结构,删除一列信息,家庭住址4) 向学生表添加如下信息:学号姓名年龄性别联系电话学历1 A 22 男123456 小学2 B 21 男119 中学3 C 23 男110 高中4 D 18 女114 大学5) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”6) 删除学生表的数据,姓名以C开头,性别为‘男’的记录删除7) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来9) 查询出所有学生的姓名,性别,年龄降序排列10) 按照性别分组查询所有的平均年龄三填空(3分/题) 361)索引分为___聚簇索引__和_ 非聚簇索引___2) TRUNCATE TABLE(删除所有,不能回滚)命令是什么含义?和Delete from(删除一个或者多个记录,能回滚)表名有什么区别?2)说出以下聚合数的含义:avg ,sum ,max ,min , count ,count(*)Avg 求平均值Sum 求和Max 最大值Min 最小值Count 返回满足条件的记录Count(*)函数返回表中所有记录数:8) 视图可以更新吗?会影响到实际表吗?视图是可以更新的,视图只是基于基本表上的虚拟表,对视图的更新会直接影响到实际表create table student(stu_no varchar(4) primary key,stu_name varchar(10) not null,stu_age decimal(3,0),stu_sex char(2),stu_address varchar(255),stu_tel number(20))select * from studentalter table student add stu_xl varchar(20)alter table student drop column stu_addressinsert into student(stu_no,stu_name,stu_age,stu_sex,stu_tel,stu_xl) values('1','A','22','ÄÐ','123456','Сѧ')insert into student(stu_no,stu_name,stu_age,stu_sex,stu_tel,stu_xl) values('2','B','21','ÄÐ','119','ÖÐѧ');insert into student(stu_no,stu_name,stu_age,stu_sex,stu_tel,stu_xl) values('3','C','23','ÄÐ','110','¸ßÖÐ');insert into student(stu_no,stu_name,stu_age,stu_sex,stu_tel,stu_xl) values('4','D','18','Å®','114','´óѧ');insert into student(stu_no,stu_name,stu_age,stu_sex,stu_tel,stu_xl) values('5','D','18','Å®','114','´óѧ');update student set stu_xl='´óר'where stu_tel like'11%'delete from student where stu_sex='ÄÐ'and stu_name like'C%'select stu_no,stu_name from student where stu_xl='´óר'and stu_age <'22'select stu_name,stu_sex from student order by stu_age descselect avg(stu_age),stu_sex from student where stu_sex='ÄÐ'group by stu_sex查询重复个数select stu_name,count(*) from student group by stu_name having count(*)>1。

SQL考试试题含答案

SQL考试试题含答案

SQL考试试题含答案1.选择题:以下哪个SQL命令用于创建一个新的数据库?A.CREATE TABLEB.CREATE DATABASEC.DROP DATABASED.ALTER DATABASE答案:B2.填空题:在SQL中,使用____关键字可以删除一个已经存在的表。

答案:DROP TABLE3.判断题:以下SQL语句是否正确?"SELECT*FROM users WHERE name='John';"A.正确B.错误答案:A4.简答题:解释SQL中的主键(PRIMARY KEY)是什么?答案:主键是一个或多个字段的组合,用于在数据库表中唯一标识每条记录。

一个表只能有一个主键,且主键的值不能为NULL。

5.选择题:在SQL中,哪个函数用于计算表中所有记录的总数?A.COUNT(*)B.SUM(*)C.AVG(*)D.MAX(*)答案:A6.填空题:在SQL中,使用____关键字可以更新表中的记录。

答案:UPDATE7.判断题:以下SQL语句是否正确?"INSERT INTO customers(name,email)VALUES('Alice','*****************');"A.正确B.错误答案:A8.简答题:解释SQL中的外键(FOREIGN KEY)是什么?答案:外键是一个字段(或一组字段),它在一个表中引用另一个表的主键。

外键用于建立两个表之间的关系,并确保数据的引用完整性。

9.选择题:在SQL中,哪个命令用于删除数据库中的表?A.DELETE TABLEB.DROP TABLEC.REMOVE TABLED.CLEAR TABLE答案:B10.填空题:在SQL中,使用____关键字可以添加一个新列到现有的表中。

答案:ALTER TABLE。

SQL笔试题

SQL笔试题

1 : This symbol, When you put infront of a line in the parameter file, signifiesa comment1. $2. @3. #4. !答案【3】2 : When you change a parameter value in the parameter file, when will that change takes affect?1. Immediately after saving the parameter file2. At the first CHECKPOINT after saving the paramter file3. When the DBWR finishes writing all the dirty buffers to the disk4. At the next instance startup答案【4】3 : ALTER SYSTEM DEFFERED command modifies the global parameters for1. existing sessions after a certain amount of time2. new sessions only3. existing and new sessions4. depends on the SPIN_COUNT initialization parameter答案【2】4 : The location where debugging trace files for back ground processes are written, is specified by1. LOGFILE_DEST2. ORACLE_HOME3. BACKGROUND_DUMP_DEST4. CORE_DUMP_DEST答案【3】5 : In case of heavy contention for latches,set the LOG_SIMULTANEOUS_COPIES initialization parameter to1. Twice the number of CPUs2. Same as the DB Block Buffers3. Same as the Shared Pool Size4. None of the above答案【4】6 : What is the first step in manually creating a new database1. Startup an instance2. Start SQL*Plus and connect to Oracle as SYSDBA3. Check the instance identifier for your system4. Create a parameter file答案【4】7 : Which of the following is true regarding control files1. Oracle recommeds atleast two control files stored on two separate disks2. Oracle recommeds atleast two control files stored on one disk3. Oracle recommeds to store one control file4. One control file is not enough to run a database答案【1】8 : Tom created a database with a DB_BLOCK_SIZE of 2k, he wants to increase this to 4k, what is his next step1. Issue ALTER SYSTEM SET DB_BLOCK_SIZE=4k command2. recreate the database with the new setting3. It can be done in both the ways4. the DB_BLOCK_SIZE cannot be 4k答案【2】9 : How many rollback segments are required for Oracle to startup apart from SYSTEM rollback segment1. Oracle can start with just the system rollback segment2. Oracle Needs at least 3 rollback segments before it can start3. Oracle Needs a Temp Rollback Segment before it can start4. None of the above答案【1】10 : The unit of measurement for DB_BLOCK_SIZE intialization parameter is1. BLOCKS2. BYTE3. PAGE4. ROW答案【2】11 : This table space is a must before you run the database instance1. ROLLBACK2. TOOLS3. TEMP4. SYSTEM答案【4】12 : Which initialization parameter determines the rollback segments that can be used by Oracle1. ROLLBACKS2. LOGFILE GROUP3. ROLLBACK_SEGMENTS4. DBA_ROLLBACK_SEGS答案【3】13 : Which of the following is a valid but undocumented parameter in Oracle1. _CORRUPT_RBS2. _CORRUPT_REDO3. _CORRUPT_ROLLBACK_SEGMENTS4. None of the above答案【3】14 :Physical Disk Resources in an Oracle Database are1. Control Files2. Redo Log Files3. Data Files4. All of the above答案【4 】15 :What is a Schema1. A Physical Organization of Objects in the Database2. A Logical Organization of Objects in the Database3. A Scheme Of Indexing4. None of the above答案【2 】16:Oracle Instance is1. Oracle Memory Structures2. Oracle I/O Structures3. Oracle Background Processes4. All of the Above答案【4】17.关系数据库中的视图属于4 个数据抽象级别中的(A )A 外部模型B 概念模型C 逻辑模型D 物理模型18.在下列关于关系的陈述中,错误的是(B )A 表中任意两行的值不能相同B 表中任意两列的值不能相同C 行在表中的顺序无关紧要D 列在表中的顺序无关紧要19.为了防止一个用户的工作不适当地影响另一个用户,应该采取(C )A 完整性控制B 安全性控制C 并发控制D 访问控制20.关系数据库中,实现实体之间的联系是通过表与表之间的(D )A 公共索引B 公共存储C 公共元组D 公共属性21.在MS SQL Server 中,用来显示数据库信息的系统存储过程是(D)A sp_ dbhelpB sp_ dbC sp_ helpD sp_ helpdb22.下面系统中不属于关系数据库管理系统的是(C )A OracleB MS SQL ServerC IMSD DB223.SQL 语言中,删除一个表的命令是(B)A DELETEB DROPC CLEARD REMORE24.如果在关系的分片过程中使用了选择操作,则不可能是(B )A 水平分片B 垂直分片C 导出分片D 混合分片25.在一个实体集中,一个实体实例(一行)与另外多个实例(多行)相关,则这个实体称为(A)A 递归实体B 弱实体C 复合实体D 联系实体26.存在一个等待事务集{T0,T1,⋯,T n},其中T0 正等待被T1 锁住的数据项,T1 正等待被T2 锁住的数据项,T n-1 正等待被T n 锁住的数据项,且T n 正等待被T0 锁住的数据项,则系统的工作状态处于(D )A 并发处理B 封锁C 循环D 死锁27.在分布式数据库中,若存取数据时只需指出片段名称,不必指出片段地址,则称系统具有(B )A 片段透明性B 地址透明性C 局部映象透明性D 异地透明性28.某学校规定,每一个班级至多有50 名学生,至少有10 名学生;每一名学生必须属于一个班级。

sql数据库试题及答案

sql数据库试题及答案

sql数据库试题及答案SQL数据库试题一1. 下面哪个命令可以创建一个名为"employee"的表格?A. CREATE TABLE employee;B. NEW TABLE employee;C. ADD TABLE employee;D. INSERT TABLE employee;答案:A. CREATE TABLE employee;2. 下列哪个是SQL数据库的关键字?A. SELECTB. COLUMNC. INSERTD. ADD答案:A. SELECT3. 在SQL中,如何查询一个名为"customers"的表格的所有记录?A. SELECT * FROM customers;B. SELECT ALL FROM customers;C. SELECT RECORDS FROM customers;D. SELECT DATA FROM customers;答案:A. SELECT * FROM customers;4. 如何在SQL中向表格中插入新的记录?A. ADD NEW INTOB. UPDATE TABLEC. INSERT INTOD. CREATE NEW答案:C. INSERT INTO5. 如何根据特定条件从表格中删除记录?A. REMOVE FROMB. ERASE ROWC. DELETE FROMD. DROP RECORD答案:C. DELETE FROMSQL数据库试题二1. 下面哪个关键字可以用来对查询结果进行排序?A. GROUP BYB. SORT BYC. ORDER BYD. ARRANGE BY答案:C. ORDER BY2. 在SQL中,如何对表格的指定列进行更新?A. MODIFY COLUMNB. EDIT TABLEC. UPDATE COLUMND. ALTER TABLE答案:C. UPDATE COLUMN3. 下面哪个函数可以计算表格中指定列的平均值?A. AVG()B. SUM()C. MAX()D. COUNT()答案:A. AVG()4. 在SQL中,如何查找表格中满足特定条件的记录数量?A. GET()B. FETCH()C. SEARCH()D. COUNT()答案:D. COUNT()5. 下面哪个关键字可以用来从多个表格中联合查询数据?A. UNIONB. JOINC. CONNECTD. COMBINE答案:B. JOIN文章到此结束,希望以上SQL数据库试题及答案能帮助到您对SQL数据库的理解和学习。

sql测试题和答案.docx

sql测试题和答案.docx

sql测试题和答案# SQL测试题1. 基础查询题- 题目:编写一个SQL查询,从`employees`表中选择所有员工的姓名和员工ID。

- 答案:`SELECT name, employee_id FROM employees;`2. 条件查询题- 题目:从`orders`表中选择所有订单金额超过1000的订单。

- 答案:`SELECT * FROM orders WHERE order_amount > 1000;`3. 排序题- 题目:从`products`表中选择所有产品的名称和价格,并按价格降序排列。

- 答案:`SELECT name, price FROM products ORDER BY price DESC;`4. 聚合函数题- 题目:计算`sales`表中所有销售额的总和。

- 答案:`SELECT SUM(sales_amount) AS total_sales FROM sales;`5. 分组查询题- 题目:从`sales`表中按产品ID分组,并计算每个产品的总销售额。

- 答案:`SELECT product_id, SUM(sales_amount) AStotal_sales_per_product FROM sales GROUP BY product_id;`6. 连接查询题- 题目:查询`customers`表和`orders`表,找出所有客户的姓名和他们下过的订单数量。

- 答案:`SELECT , COUNT(o.order_id) AS order_count FROM customers c JOIN orders o ON c.customer_id =o.customer_id GROUP BY ;`7. 子查询题- 题目:找出`employees`表中工资高于平均工资的员工的姓名和工资。

- 答案:`SELECT name, salary FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);`8. 多表连接查询题- 题目:查询`employees`表和`departments`表,找出所有员工的姓名、部门名称和部门ID。

SQL题库(有答案)

SQL题库(有答案)

一、选择题:1、根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(_B__)A、只存在一对多的实体关系,以图形方式来表示。

B、以二维表格结构来保存数据,在关系表中不允许有重复行存在。

C、能体现一对多、多对多的关系,但不能体现一对一的关系。

D、关系模型数据库是数据库发展的最初阶段。

2、在“连接”组中有两种连接认证方式,其中在(_B__)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。

A、Windows身份验证B、SQL Server 身份验证C、以超级用户身份登录时D、其他方式登录时3、SQL Server 2000 在安装之前,应注意的事项:(_C__)A、SQL Server 2000的任何版本在安装时都不用考虑操作系统的制约。

B、SQL Server 2000的安装对硬件的要求不作任何限制。

C、SQL Server 2000 在安装之前,必须在操作系统级启用TCP/IP。

D、在Windows NT Server 4.0上安装SQL Server 2000时,最低的要求是必须安装Service Pack 4(SP4)以上。

4、关系数据库中,主键是(1_A__),主键的建立有(2_C__)种方法,当运用Transact-SQL语句创建主键时,可以是(3_B__)。

⑴A、为标识表中唯一的实体B、创建唯一的索引,允许空值C、只允许以表中第一字段建立D、允许有多个主键的⑵A、一B、二C、三D、四⑶A、create table table1(column1 char(13) not null primary,column2 int not) on primary;B、alter table table1 with notcheck addconstraint [PK_table1] primary key nonclustered( column1) on primary;C、alter table table1 column1 primary key ;5、表在数据库中是一个非常重要的数据对象,它是用来(1_C__)各种数据内容的,数据库创建后就可以创建表了,创建表可以用(2_D__)等方法来创建。

sql初级考试题及答案

sql初级考试题及答案

sql初级考试题及答案1. 以下哪个SQL语句用于创建新表?A. CREATE TABLEB. DROP TABLEC. SELECT TABLED. INSERT INTO TABLE答案:A2. SQL中的主键约束是什么?A. 唯一标识表中每一行的字段B. 允许为空的字段C. 可以重复的字段D. 没有数据类型的字段答案:A3. 如何在SQL中选择特定的列?A. 使用星号(*)B. 使用逗号分隔列名C. 使用分号(;)D. 使用AND关键字答案:B4. SQL中的GROUP BY子句用于什么?A. 选择特定的行B. 对结果集进行分组C. 排序结果集D. 连接多个表答案:B5. 如何在SQL中更新表中的记录?A. 使用UPDATE语句B. 使用SELECT语句C. 使用DELETE语句D. 使用INSERT语句答案:A6. SQL中的INNER JOIN用于什么?A. 返回两个表中所有行B. 返回两个表中匹配的行C. 返回两个表中不匹配的行D. 删除两个表中的行答案:B7. 如何在SQL中删除表?A. 使用DELETE语句B. 使用DROP TABLE语句C. 使用REMOVE TABLE语句D. 使用DESTROY TABLE语句答案:B8. SQL中的LIKE关键字用于什么?A. 计算总和B. 执行算术运算C. 搜索列中的指定模式D. 排序结果答案:C9. 在SQL中,如何添加新列到现有表?A. 使用ADD COLUMN语句B. 使用ALTER TABLE语句C. 使用MODIFY TABLE语句D. 使用CHANGE TABLE语句答案:B10. SQL中的UNION操作用于什么?A. 返回两个查询结果的交集B. 返回两个查询结果的差集C. 返回两个查询结果的并集D. 返回两个查询结果的交集和差集答案:C。

sql经典笔试题一(含答案)

sql经典笔试题一(含答案)

sql经典笔试题一(含答案)一单词解释(2分/个) 34Data 数据Database 数据库RDBMS 关系数据库管理系统GRANT 授权REVOKE取消权限DENY 拒绝权限DECLARE 定义变量PROCEDURE存储过程Transaction事务TRIGGER触发器继续continue 唯一unqiue 主键primary key 标识列identity 外键foreign kdy 检查check 约束constraint二编写SQL语句(5分/题)501) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话Create table stu (学号int ,姓名varchar(8),年龄int,性别varchar(4),家庭地址varchar(50),联系电话int);2) 修改学生表的结构,添加一列信息,学历Alter table stu add 学历varchar(6);3) 修改学生表的结构,删除一列信息,家庭住址Alter table stu drop column 家庭地址4) 向学生表添加如下信息:学号姓名年龄性别联系电话学历1 A 22 男123456 小学2 B 21 男119 中学3 C 23 男110 高中4 D 18 女114 大学Insert into stu values('1', 'A', '22', '男' , ' 123456', '小学')Insert into stu values('2', 'B', '21', '男', '119' , '中学')Insert into stu values('3', 'C', '23', '男', '110', '高中')Insert into stu values('4' , 'D', '18', '女', '114', '大学')5) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”Update stu set 学历=’大专’where 联系电话like ‘11%’6) 删除学生表的数据,姓名以C开头,性别为‘男’的记录删除Delect from stu where 性别=’男’and 姓名like ‘c%’7) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来Select 姓名,学号from stu where 年龄<22 and 学历=’大专’8) 查询学生表的数据,查询所有信息,列出前25%的记录Select top 25 percent * from stu9) 查询出所有学生的姓名,性别,年龄降序排列Select 姓名,性别from stu order by 年龄desc10) 按照性别分组查询所有的平均年龄Select avg(年龄) from stu group by 性别三填空(3分/题) 361)索引分为__聚集索引___和__非聚集索引__在一张表上最多可以创建1个聚集索引_索引。

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

有3个表S,C,SC
S(SNO,SNAME)代表(学号,姓名)
C(CNO,CNAME,CTEACHER)代表(课号,课名,教师)
SC(SNO,CNO,SCGRADE)代表(学号,课号,成绩)
问题:
1,找出没选过“黎明”老师的所有学生姓名。

2,列出2门以上(含2门)不及格学生姓名及平均成绩。

3,即学过1号课程有学过2号课所有学生的姓名。

请用标准SQL语言写出答案,方言也行(请说明是使用什么方言)。

1.SELECT SNAME FROM S JOIN SC ON
(S.SNO=SC.SNO) JOIN C ON (O=O) WHERE C.CTEACHER
<>’黎明’;
2.SELECT t.av,s.SNAME FROM (
SELECT sc.SNO,A VG(sc.SCGRADE) AS av FROM Stu_Cau sc
WHERE sc.SNO IN
(SELECT SNO FROM Stu_Cau WHERE SCGRADE<60 GROUP BY SNO HA VING COUNT(SNO) >= 2)
GROUP BY sc.SNO ) AS t
LEFT JOIN Student s ON s.SNO = t.SNO
3.SELECT s.SNAME FROM Student s WHERE s.SNO IN
(
SELECT a.SNO FROM Stu_Cau a CROSS JOIN Stu_Cau b
WHERE a.SNO = b.SNO AND O = 1 AND O = 2
)。

相关文档
最新文档