超经典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基础知识题库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考试题及答案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笔试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笔试题及答案一、选择题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一些笔试题1.触发器的作用?答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。

它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。

可以联级运算。

如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。

2。

什么是存储过程?用什么来调用?答:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。

如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。

可以用一个命令对象来调用存储过程。

3。

索引的作用?和它的优点缺点是什么?答:索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。

它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。

索引可以是唯一的,创建索引允许指定单个列或者是多个列。

缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。

7。

为管理业务培训信息,建立3个表:S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄C(C#,CN)C#,CN分别代表课程编号,课程名称SC(S#,C#,G) S#,C#,G分别代表学号,所选的课程编号,学习成绩(1)使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名?答案:select s# ,sn from s where S# in(select S# from c,sc where c.c#=sc.c# and cn=’税收基础’)(2) 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位?答:select sn,sd from s,sc where s.s#=sc.s# and sc.c#=’c2’(3) 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位?答:select sn,sd from s where s# not in(select s# from sc where c#=’c5’)(4)查询选修了课程的学员人数答:select 学员人数=count(distinct s#) fromsc(5) 查询选修课程超过5门的学员学号和所属单位?答:select sn,sd from s where s# in(select s# from sc group by s# having count(distinct c#)>5)在面试过程中多次碰到两道SQL查询的题目,一是查询A(ID,Name)表中第31至40条记录,ID 作为主键可能是不是连续增长的列,完整的查询语句如下:select top 10 * from A where ID >(select max(ID) from (select top 30 ID from A order by A ) T) order by A另外一道题目的要求是查询表A中存在ID重复三次以上的记录,完整的查询语句如下:select * from(select count(ID) as count from table group by ID)T where T.count>3 create table testtable1(id int IDENTITY,department varchar(12))select * from testtable1insert into testtable1 values('设计') insert into testtable1 values('市场') insert into testtable1 values('售后') /*结果id department1 设计2 市场3 售后*/create table testtable2(id int IDENTITY,dptID int,name varchar(12))insert into testtable2 values(1,'张三') insert into testtable2 values(1,'李四') insert into testtable2 values(2,'王五')insert into testtable2 values(3,'彭六') insert into testtable2 values(4,'陈七') /*用一条SQL语句,怎么显示如下结果id dptID department name1 1 设计张三2 1 设计李四3 2 市场王五4 3 售后彭六5 4 黑人陈七*/答案是:SELECT testtable2.* , ISNULL(department,'黑人')FROM testtable1 right join testtable2 on testtable2.dptID = testtable1.ID在面试应聘的SQL Server数据库开发人员时,我运用了一套标准的基准技术问题。

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、如何创建表、修改表、删除表?Create table 表名Alter table 表名Drop table 表名2、存储过程的优点是什么?存储过程的优点:1)提高性能2)减轻网络拥塞3)一致性较好4)改善安全机制3、什么是触发器?触发器有哪几种?触发器有什么优点?一个触发器是由T-SQL语句集组成的代码块,在响应某些动作时激活该语句集有insert,delete,update触发器它防止了对数据的不正确、未授权的和不一致的改变4、常见的几种约束有哪些?分别代表什么意思?如何使用?主键约束,外键约束,检查约束,唯一约束,默认约束约束:在Create table或alter table时加约束(1)主键:PRIMARY KEY (主键字段) 保证了实体完整性,一个表只有一个主键,但一个主键可有包含多个字段,主键字段不能为空(2)唯一:UNIQUE (约束字段) 保证了实体完整性,一个表只有多个唯一约束,一个唯一约束可有包含多个字段(3)外键:FOREIGN KEY (外键字段) REFERENCES 主键表(主键字段) 保证了引用完整性,一个表可以有多个外键(4)检查:CHECK(检查表达式) 保证了域完整性,一个表中可以有多个检查性约束(5)默认值:DEFAULT (默认值的表达式或NULL) for 字段名保证了域完整性,一个表可以有多个默认值约束,但是一个字段只有一个默认值5、什么是数据库的安全性?数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

6、简要说明事务的原子性。

事务的所有操作必须完成,否则事务将被撤消。

也就是说,事务是作为一个整体的单位处理,不可以被分割7、事务中的提交和回滚是什么意思?事务中的提交(COMMIT)是提交事务的所有操作。

具体说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。

事务中的回滚(ROLLBACK)是数据库滚回到事务开始时的状态。

笔试题SQL

笔试题SQL
A)2005-4-31 B)2005-5-1 C)2005-12-23 D)以上都不是
31、{SQL题目}表persion中有三个字段(id、name、address),现在要删除字段address,正确的命令是( ) (选择1项)
A) UPDATE persion DROP COLUMN address
36、{SQL题目}SQL的中文全称是( ) (选择1项)
A)数据操作语言 B)数据控制语言 C)结构化查询语言 D)数据定义语言
{ASP题目}HTML文档的开始标签是。( )(选择1项)
A) <html> B) <head> C) <title> D) <body>
18、{SQL题目}下面哪个函数返回的是满足给定条件的记录数:(选择1项)
A) Max(col_name) B) Avg(col_name)
C) Sum(col_name) D) COUNT(col_name)
19、{SQL题目}要将一组语句执行20次。下列哪种结构可以用来完成此项任务?(选择1项)
3.{SQL题目}现有mailinfo表,有字段id,date,mail,规定id的值域是8个数字组成的字符串,这一规则属于( ) (选择1项)
A) 实体完整性约束 B) 域完整性约束
C) 用户自定义完整性约束 D) 引用完整性约束
4. {SQL题目}表persion中有三个字段(id、name、address),现在要删除字段address,正确的命令是( ) (选择1项)
C) DELETE FROM userInfo D)DROP FROM userInfo
17、{SQL题目}下列那条语句可以用来从WHILE语句块中退出?

SQL笔试题

SQL笔试题

SQL 笔试题一、填空1、目前较为流行的三种 DBMS: ( ) 、( ) 、( ) 。

P22、数据库设计过程包括( )个阶段, ( )阶段是基础; ( )阶段是关键。

3、用户需求包括信息需求和( )需求。

P34、数据库设计最耗时的阶段是( ),整个数据库生存周期最耗时的阶段是( ) 。

P45、现实世界中客观存在的并可区分识别的事物称为( ) 。

6、属性的特定取值范围称为( ) 。

P77 、E-R 模型的英文全拼是( ) p88、如果 E-R 图中,菱形框引出的属性称为( ) 。

9、概念模型设计第一步( ),第二步( ) 。

P910、合并 E-R 模型之前要解决局部 E-R 模型( )问题。

11、概念结构设计优化指,对初步 E-R 图进行修改,消除( ),生成基本的 E-R 图。

12、数据模型优化的根据是( ) 。

13、关系就是由行和列组成的( ) 。

P1114、关系中的行称为( ),列称为( ) 。

15、完整性指数据的( )和( ) 。

P1616、实体完整性指( ) 。

P1617、参照完整性指( ) 。

18、索引的作用( ) 。

19、默认文件组的名字是( ) 。

P4420、执行 SQL 脚本的快捷键是( ) 。

P4721、【分离】数据库后,恢复数据库的操作是( ) 。

22、【脱机】数据库后,恢复数据库的操作是( ) 。

23、数据类型 numeric(6,2)含义是( ) 。

24、( )是 SQL Server2005 提供的自动保持数据完整性的一种方法。

P7525、( )情况下主键约束一定是表级约束。

P7826、字段别名改变的是( ) 。

P10527、连接查询指( ) 。

P12328、写出 A 与 B 左外连接的语句( ) 。

29、在连接查询中,物理避免来自不同表相同字段引起混淆,在列名前面增加( ) 作为前缀。

30、T-SQL 中 T 的中文含义是( ) 。

31、T-SQL 语言分( )类。

(完整版)常见SQL笔试题

(完整版)常见SQL笔试题

SQL笔试题1.统计查问 SQL练习数据库中表构造以下,字段分别任rg (日期), shengfu (输赢),观察 group by语句的使用:2005-05-09胜2005-05-09胜2005-05-09负2005-05-09负2005-05-10胜2005-05-10负2005-05-10负假如要生成以下结果 , 该怎样写 sql语句?输赢2005-05-09 2 22005-05-10 1 2答案:1)select rq, sum(case when shengfu=' 胜' then 1 else 0 end)' 胜',sum(case when shengfu=' 负 'then 1 else 0 end)' 负' from #tmp group by rq2) select N.rq,N. 胜 ,M. 负from (select rq, 胜=count(*) from #tmp where shengfu=' 胜 'group by rq)N inner join(select rq, 负 =count(*) from #tmp where shengfu='负'group by rq)M on胜负from(select col001,count(col001) a1 from temp1 where col002='胜' group by col001) a,(select col001,count(col001) b1 from temp1 where col002='负' group by col001) b2.条件判断 SQL 练习表中有 A B C三列,用SQL语句实现:当 A 列大于 B 列时选择 A 列不然选择B列,当B 列大于 C 列时选择 B 列不然选择 C 列答案:select (case when a>b then a else b end ),(case when b>c then b esle c end)from table_name3.日期统计 SQL 练习请拿出tb_send表中日期(SendTime字段)为当日的所有记录?(SendTime 字段为datetime 型,包括日期与时间 )答案:select * from tb where datediff(dd,SendTime,getdate())=04.统计查问 SQL 练习有一张表,里面有 3 个字段:语文,数学,英语。

【SQL】SQL常见笔试题

【SQL】SQL常见笔试题

【SQL】SQL常见笔试题
· 1 基础查询
· 2 字符串\数字\日期时间
· 3 聚合数据查询
· 4 子查询
· 5 联接\组合查询
· 6 高级查询
· 7 更新数据
阅读提醒:点击图片放大可看清晰的
1 基础查询
2 字符串\数字\日期时间
3 聚合数据查询
4子查询
5 联接\组合查询
6 高级查询
7 更新数据
1、SQL语句,表A有member_id, city,表B有 member_id, price几项,将A和B链接,且指定城市和price>10. Member_id为主键.
如果不会写就给出数据分析的思想。

select * from A
join B on A.member_id=B.member_id
where city='北京' and price>10.
2.要实现统计每日或每月的新增用户,但数据库中的存的时间是时间戳,所以就要利用DATE_FORMAT函数
数据库表存的数据:
要统计每日的新增用户,就要把时间戳格式的时间FORMAT成年-月-日的格式,并按照format过的字段做分组(group by),计算count
sql语句:
SELECT DATE_FORMAT(create_time,'%Y-%m-%d') as time ,
1
count(*) as count FROM tb_users GROUP BY time
查询结果:。

大学sql试题及答案

大学sql试题及答案

大学sql试题及答案一、单项选择题(每题2分,共20分)1. SQL中用于查询数据的语句是:A. SELECTB. INSERTC. UPDATED. DELETE答案:A2. 在SQL中,用于添加新记录的语句是:A. SELECTB. INSERTC. UPDATED. DELETE答案:B3. SQL中用于修改数据的语句是:A. SELECTB. INSERTC. UPDATED. DELETE答案:C4. SQL中用于删除数据的语句是:A. SELECTB. INSERTC. UPDATED. DELETE答案:D5. SQL中用于创建新表的语句是:A. CREATE TABLEB. INSERT INTOC. UPDATE TABLED. DROP TABLE答案:A6. 在SQL中,哪个关键字用于指定查询结果中列的别名?A. ASB. FROMC. WHERED. SELECT答案:A7. SQL中用于指定查询条件的关键字是:A. SELECTB. FROMC. WHERED. INTO答案:C8. SQL中用于连接两个或多个表的关键字是:A. JOINB. UNIONC. INTERSECTD. EXCEPT答案:A9. 在SQL中,用于分组数据的关键字是:A. GROUP BYB. ORDER BYC. HAVINGD. LIMIT答案:A10. SQL中用于排序查询结果的关键字是:A. GROUP BYB. ORDER BYC. HAVINGD. LIMIT答案:B二、多项选择题(每题3分,共15分)1. 在SQL中,以下哪些关键字用于数据定义语言(DDL)?A. CREATEB. INSERTC. DROPD. ALTER答案:A, C, D2. 在SQL中,以下哪些关键字用于数据操纵语言(DML)?A. SELECTB. INSERTC. UPDATED. DELETE答案:A, B, C, D3. 在SQL中,以下哪些关键字用于数据控制语言(DCL)?A. GRANTB. REVOKEC. COMMITD. ROLLBACK答案:A, B4. 在SQL中,以下哪些语句可以用于数据的聚合操作?A. COUNTB. SUMC. AVGD. MAX答案:A, B, C, D5. 在SQL中,以下哪些关键字用于查询优化?A. INDEXB. JOINC. WHERED. GROUP BY答案:A, B, C, D三、填空题(每题3分,共30分)1. SQL中的________关键字用于创建新数据库。

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个聚集索引_索引。

SQL笔试题

SQL笔试题

SQL笔试题SQL笔试题1.下⾯哪种操作⼀定⽆法使⽤索引提⾼运⾏速度?A.插⼊B.删除C.修改D.查询2.查询中like%,下⾯哪种写法⽐较适合索引查询?A.%abcB.abc%C.%a%bcD.%ca%b3.下⾯哪种索引不建议在OLTP中使⽤?A.B*Tree索引B.位图索引C.函数索引D.反转索引4.查询记录超过百分之⼏,宜使⽤全表扫描?A.15 B.30 C.40 D.505.⼀个SQL的嵌套层数最好不要超过()层?A.3 B.4 C.5 D.66.⼀个SQL中表连接数量不宜超过()个?A.3 B.4 C.5 D.67.下列哪种输⼊参数情况下,宜使⽤固化函数?A.员⼯IDB.⾝份证号C.⽇期,币种1,币种2,⾦额D.⽇期,币种1,币种28.在UTF8环境下,全⾓字符和半⾓字符的区别是?A.全⾓字符位数较多B.全⾓和半⾓字符相等,⽆区别C.半⾓字符位数较多D.全⾓字符⽆法存储9.下⾯哪种表连接⽅式不是Oracle的表连接⽅式?A.哈希连接B.混合连接C.嵌套循环连接D.笛卡尔积连接10.在前台翻页查询中要将函数提取到最外层,下列哪种说法是错的?A.可以降低函数的执⾏次数B.可以将函数的结果缓存到数据缓冲池C.可以减少表关联D.可以使代码易读易懂11.在OLTP系统,员⼯信息表复合索引设计,下列哪种最合理?A.性别,部门B.员⼯ID,部门IDC.员⼯ID,部门ID,性别,地址,上级领导ID,邮件地址D.性别,年龄12.下列对NULL值的判断,哪种情况为真?A.NULL<>1B.NULL IS NULLC.NULL = NULLD.NULL<>NULL13.COUNT(*)相⽐COUNT(0),可能带来的后果是?A.*会带来额外的共享池解析B.*会带来额外的缓冲池解析C.*会带来额外的JAVA池解析D.*会带来额外的LAGRE POOL解析14.包的⼤⼩过⼩过⼤容易导致下列哪种情况?A.易导致数据库缓冲池命中率降低B.导致排序区额外的损耗C.操作系统易内存抖动D.共享池内存溢出的风险加⼤15.下列哪种⽇志记录⽅式最好?A.insert into ref_product_def values('P123'); commit; vi_insert_rows:=sql%rowcount; write_log('产品信息表插⼊条数:'||vi_insert_rows);B.insert into ref_product_def values('P123'); vi_insert_rows:=sql%rowcount; commit; write_log('产品信息表插⼊条数:'||vi_insert_rows);C.insert into ref_product_def values('P123'); commit; vi_insert_rows:=sql%rowcount; write_log('产品信息表插⼊条数:'||to_char(vi_insert_rows));D.insert into ref_product_def values('P123'); vi_insert_rows:=sql%rowcount; commit; write_log('产品信息表插⼊条数:'||to_char(vi_insert_rows));16.在Oracle中,不属于游标属性的是()?A.%NOTFOUNDB.%FOUNDC.%ISCLOSED.%ISOPEN17.游标显⽰打开未显⽰关闭,会导致下⾯哪种错误?A.超过游标打开数B.游标未能成功打开C.游标未能成功关闭D.超出游标占⽤内存量18.下⾯的程序哪种是不建议的写法(多选)? create table T1(trade date,product_id varchar2(10),data_date varchar2(8)) 以trade_date按⽇分区 该表在product_id建⽴了分区索引 Trunc函数:trunc(sysdate)为当⽇的零时零分A.select count(0) from T1 where trunc(trade_date)=trunc(sysdate)B.select * from T1 where trade_date = func('20140101')C.select * from T1 where product_id = 1D.select * from T1 where trade_date between sysdate and sysdate+119.前台翻页查询需要注意哪些事项?(多选)A.事先提取固定值B.函数调⽤放在最外层C.尽量使⽤循环嵌套D.表连接需尽量少20.aa,bb表都有20个字段,且记录数量都很⼤,aa,bb表的X字段(⾮空)上有索引,请⽤SQL列出aa表⾥⾯存在的X在bb表中不存在的X的值,请写出最快的语句,并解释原因。

sql编程笔试题

sql编程笔试题

sql编程笔试题标题:SQL编程笔试题-列表题作为一名有经验的SQL编程专家,你需要熟练掌握SQL语言,并能够灵活运用它来解决各种实际问题。

以下是一些SQL编程笔试题,希望你能够认真思考并给出自己的答案。

1.写一个SQL查询,列出订单表中所有的客户订单数量。

答案:SELECT customer_name, COUNT(*) AS order_countFROM order_tableGROUP BY customer_name;2.写一个SQL查询,列出员工表中薪水在平均薪水以上的员工姓名和薪水。

答案:SELECT employee_name, salaryFROM employee_tableWHERE salary > (SELECT AVG(salary) FROM employee_table);3.写一个SQL查询,找出订单表中最新的订单日期。

答案:SELECT MAX(order_date)FROM order_table;4.写一个SQL查询,计算所有客户订单的金额总和,并按照金额从大到小的顺序输出结果。

答案:SELECT customer_name, SUM(order_amount) AS total_amountFROM order_tableGROUP BY customer_nameORDER BY total_amount DESC;5.写一个SQL查询,找出员工表中任意两个员工之间的工作年限差异,并按照年限从小到大输出结果。

答案:SELECT e1.employee_name AS employee1, e2.employee_name AS employee2, ABS(YEAR(e1.start_date) - YEAR(e2.start_date)) AS year_diff FROM employee_table e1, employee_table e2WHERE e1.employee_name < e2.employee_nameORDER BY year_diff ASC;以上是一些常见的SQL编程笔试题,希望对你有所帮助。

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

--更新王_父
update test2 set renid=6 where renid in
(select MAX(renid) from test2)
--更新张_父
update test2 set renid=5,parentid=7
where renid in(select MAX(renid) from test2)
(select renid,renname,parentid from test2 where parentid=' ')a,test2
where test2.parentid=a.renid
--查找有孙子的人
select * from test2 where renid in(
select test2.parentid from
--更新王_一
update test2 set renid=4,parentid=6
where renid in(select MAX(renid) from test2)
--更新王_一
update test2 set renid=3,parentid=6
where renid in(select MAX(renid) from test2)
where test2.parentid=a.renid)
--3.查找张_父的所有子
select * from test2 where parentid
in(select renid from test2 where renname in('张_父'))
--4.写一句sql
select '人数' as 项目,
--更新张_二
update test2 set renid=2,parentid=5
where renid in(select MAX(renid) from test2)
--更新张_一
update test2 set renid=1,parentid=5
where renid in(select MAX(renid) from test2)
select 3,'张二',10 union all
select 5,'王一',11 union all
select 8,'王二',11 union all
select 10,'张_父',15 union all
select 11,'王_父',' ' union all
select 15,'张_父_父',16 union all
sele的人
select * from test2 where parentid=' '
--2.查找有孙子的人
--查找没有父亲的人的儿子
select test2.renid,test2.renname,test2.parentid from
(select test2.renid,test2.renname,test2.parentid from
(select renid,renname,parentid from test2 where parentid=' ')a,test2
where test2.parentid=a.renid)a,test2
--更新16
update test2 set renid=a.b from
(select MAX(renid) a,8 b from test2)a
where a.a=test2.renid
--更新张_父_父
update test2 set renid=7,parentid=8
where parentid in(select MAX(parentid) from test2)
drop table test2
create table test2
(
renid int,
renname varchar(20),
parentid int
)
insert into test2 (renid,renname,parentid)
select 2,'张一',10 union all
select * from test2
sum(case when left(renname,1)='张' then 1 else 0 end)as 张,
sum(case when left(renname,1)='王' then 1 else 0 end)as 王
from test2
--5.renid 从1-8重排,不打乱表中关系,即update renid,parentid
相关文档
最新文档