SQL笔试题2
- 格式:doc
- 大小:51.00 KB
- 文档页数:7
面试sql笔试题目
好的,以下是一份可能的SQL笔试题目:
1. 写出查询所有学生成绩的SQL语句。
2. 写出查询学生表中年龄大于等于18岁的学生记录的SQL语句。
3. 写出查询学生表中年龄小于18岁且姓“张”的学生记录的SQL语句。
4. 写出查询学生表中年龄等于18岁且姓“李”的学生记录的SQL语句。
5. 写出查询学生表中年龄等于18岁或姓“李”的学生记录的SQL语句。
6. 写出查询学生表中年龄等于18岁或姓“李”且成绩大于等于90分的学生记录的SQL语句。
7. 写出查询学生表中年龄等于18岁或姓“李”且成绩大于等于90分,并按成绩从高到低排序的学生记录的SQL语句。
8. 写出查询学生表中年龄等于18岁或姓“李”且成绩大于等于90分,并取出前5条记录的SQL语句。
9. 写出查询学生表中年龄等于18岁或姓“李”且成绩大于等于90分,并取出最后一条记录的SQL语句。
10. 写出查询学生表中年龄等于18岁或姓“李”且成绩大于等于90分,并取出第3条至第5条记录的SQL语句。
数据库笔试题及答案【篇一:sql数据库经典面试题(修改笔试题)(有答案)】部门,平均工资,要求按部门的字符串顺序排序,不能含有human resource部门,employee结构如下:employee_id, employee_name,depart_id,depart_name,wage 答:select depart_name, avg(wage)from employee where depart_name human resourcegroup by depart_name order by depart_name-------------------------------------------------------------------------- 29.给定如下sql数据库:test(num int(4)) 请用一条sql语句返回num的最小值,但不许使用统计功能,如min,max等答:select top 1 num from test order by num--------------------------------------------------------------------------33.一个数据库中有两个表:一张表为customer,含字段id,name;一张表为order,含字段id,customerid(连向customer中id的外键),revenue;写出求每个customer的revenue总和的sql语句。
建表 create table customer(id int primary key,name char(10))gocreate table [order](id int primary key,customerid int foreign key referencescustomer(id) , revenue float)go--查询select customer.id, sum( isnull([order].revenue,0) )from customer full join [order]on( [order].customerid=customer.id ) group by customer.idselect customer.id,sum(order.revener) from order,customer where customer.id=customerid group by customer.idselect customer.id, sum(order.revener ) from customer full join order on( order.customerid=customer.id ) group by customer.id5数据库(10)a tabel called “performance”contain:name and score,please 用sql语言表述如何选出score最high的一个(仅有一个)仅选出分数,select max(score) from performance仅选出名字,即选出名字,又选出分数: select top 1score ,name from per order by scoreselect name1,score from per where score in/=(selectmax(score) from per).....4 有关系 s(sno,sname) c(cno,cname) sc(sno,cno,grade)1 问上课程 db的学生noselect count(*) from c,sc where ame=db and o=o select count(*) from sc where cno=(select cno from c whereame=db)2 成绩最高的学生号select sno from sc where grade=(select max(grade) from sc ) 3 每科大于90分的人数select ame,count(*) from c,sc where o=o andsc.grade90 group by ameselect ame,count(*) from c join sc on o=o and sc.grade90 group by ame数据库笔试题*建表:dept:deptno(primary key),dname,locemp:empno(primary key),ename,job,mgr,sal,deptno*/1 列出emp表中各部门的部门号,最高工资,最低工资select max(sal) as 最高工资,min(sal) as 最低工资,deptno from emp group by deptno;2 列出emp表中各部门job为clerk的员工的最低工资,最高工资 select max(sal) as 最高工资,min(sal) as 最低工资,deptno as 部门号 from emp where job = clerk group by deptno;3 对于emp中最低工资小于1000的部门,列出job为clerk的员工的部门号,最低工资,最高工资select max(sal) as 最高工资,min(sal) as 最低工资,deptno as 部门号 from emp as bwhere job=clerk and 1000(select min(sal) from emp as a wherea.deptno=b.deptno) group by b.deptno4 根据部门号由高而低,工资有低而高列出每个员工的姓名,部门号,工资select deptno as 部门号,ename as 姓名,sal as 工资 from emp order by deptno desc,sal asc5 写出对上题的另一解决方法(请补充)6 列出张三所在部门中每个员工的姓名与部门号select ename,deptno from emp where deptno = (select deptno from emp where ename = 张三)7 列出每个员工的姓名,工作,部门号,部门名select ename,job,emp.deptno,dept.dname from emp,deptwhere emp.deptno=dept.deptno8 列出emp中工作为clerk的员工的姓名,工作,部门号,部门名select ename,job,dept.deptno,dname from emp,dept wheredept.deptno=emp.deptno and job=clerk9 对于emp中有管理者的员工,列出姓名,管理者姓名(管理者外键为mgr) select a.ename as 姓名,b.ename as 管理者 from emp as a,emp as b where a.mgr is not null and a.mgr=b.empno10 对于dept表中,列出所有部门名,部门号,同时列出各部门工作为clerk的员工名与工作select dname as 部门名,dept.deptno as 部门号,ename as 员工名,job as 工作 from dept,empwhere dept.deptno *= emp.deptno and job = clerk11 对于工资高于本部门平均水平的员工,列出部门号,姓名,工资,按部门号排序select a.deptno as 部门号,a.ename as 姓名,a.sal as 工资 from emp as a where a.sal(select avg(sal) from emp as b wherea.deptno=b.deptno) order by a.deptno12 对于emp,列出各个部门中平均工资高于本部门平均水平的员工数和部门号,按部门号排序select count(a.sal) as 员工数,a.deptno as 部门号 from emp as awhere a.sal(select avg(sal) from emp as b wherea.deptno=b.deptno) group by a.deptno order by a.deptno13 对于emp中工资高于本部门平均水平,人数多与1人的,列出部门号,人数,按部门号排序select count(a.empno) as 员工数,a.deptno as 部门号,avg(sal) as 平均工资 from emp as awhere (select count(c.empno) from emp as c wherec.deptno=a.deptno and c.sal(select avg(sal) from emp as b where c.deptno=b.deptno))1 group by a.deptno order bya.deptno14 对于emp中低于自己工资至少5人的员工,列出其部门号,姓名,工资,以及工资少于自己的人数select a.deptno,a.ename,a.sal,(select count(b.ename) from emp as b where b.sala.sal) as 人数 from emp as awhere (select count(b.ename) from emp as b whereb.sala.sal)5 数据库笔试题及答案第一套一.选择题1. 下面叙述正确的是ccbad ______。
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子句按照月份进行分组。
一单词解释 (2 分 / 个 ) 34分Data 数据 Database数据库RDBMS关系数据库管理系统GRANT 授权REVOKE取消权限 DENY 拒绝权限DECLARE 定义变量PROCEDURE存储过程事务主键Transactionprimary key触发器标识列TRIGGER 继续identity外键continue唯一foreign keyunqiue检查 check约束constraint二编写 SQL语句 (5 分 / 题 ) 50分(包含笔试题问题和解答答案)1)创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话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)向学生表添加如下信息:学号姓名年龄性别联系电话学历1A22 男 123456 小学2B21 男 119 中学3C23 男 110 高中4D18 女 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 分 / 题 ) 36 分(包含笔试题问题和解答答案)1)索引分为__聚集索引___和__非聚集索引__在一张表上最多可以创建 1 个聚集索引_索引。
sql基础笔试题及答案一、选择题:1. 在计算机应用中,“计算机辅助设计”的英文缩写为___________。
A. CAD B. CAM C. CAE D. CAT2. 微型计算机中,再分称作中央处理单元(CPU)的就是指___________。
A.运算器和控制器 B.累加器和算术逻辑运算部件(ALU) C.累加器和控制器 D.通用寄存器和控制器3. 计算机系统的“主机”由___________形成。
A.CPU,内存储器及辅助存储器 B.CPU和内存储器C.存放在主机箱内部的全部器件 D.计算机的主板上的全部器件 4. 冯·诺依曼计算机工作原理的设计思想就是___________。
A.程序设计 B.程序存储 c.程序编制D.算法设计 5. 世界上最先同时实现的程序存储的计算机就是___________。
A.ENIAC B.EDSAC C.EDVAC D.UNIVAC6. 通常,在微机中标明的P4或奔腾4是指___________。
A.产品型号 B.主频 C.微机名称 D.微处理器型号7. 连接计算机系统结构的五大基本组成部件一般通过___________。
A.适配器B.电缆 c.中继器 D.总线8. 在计算机领域中通常用主频去叙述___________。
A.计算机的运算速度 B.计算机的可靠性 C.计算机的可以运转性 D.计算机的可扩充性9. 下列计算机接口中,可以直接进行“插拔”操作的是___________。
A.COM B.LPT C.PCI D.USB10. 在来衡量计算机的主要性能指标中,字长就是___________。
A.计算机运算部件一次能处置的二进制数据位数 B.8十一位二进制长度 C.计算机的总线数 D.存储系统的容量11. 在计算机领域中,通常用英文单词“BYTE”来表示___________。
A.字 B.字长 C.二进制位 D.字节12. 在计算机领域中,通常用英文单词“bit”去则表示___________。
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语句(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编程题:1.订单统计有三个表:订单表(order)、商品表(goods)、商家表(merchant)。
-订单表包含了订单号(order_id)、商品ID(goods_id)、商家ID(merchant_id)、购买数量(quantity)、总金额(total_amount)等字段。
-商品表包含了商品ID(goods_id)、商品名称(goods_name)、单价(price)等字段。
-商家表包含了商家ID(merchant_id)、商家名称(merchant_name)等字段。
现需要统计每个商家的订单总金额。
解法:选择商家表(merchant)为主表,左连接订单表(order)和商品表(goods):SELECT m.merchant_name, SUM(o.total_amount) AStotal_amountFROM merchant mLEFT JOIN order o ON m.merchant_id = o.merchant_idLEFT JOIN goods g ON o.goods_id = g.goods_idGROUP BY m.merchant_name解释:-首先在SELECT语句中选择需要展示的字段;-使用LEFT JOIN左连接订单表和商品表。
这里使用LEFT JOIN因为商家表中的所有商家都需要显示,而订单表或商品表中的某些记录可能不在该商家下,所以使用LEFT JOIN可以保证不会少计算掉某些记录;-然后按照商家名称进行分组,最后使用SUM函数计算订单总金额。
2.索引优化假设有一张订单表(order)和一张用户表(user),订单表中有一个user_id字段,需要根据user_id进行查询,而该字段没有建索引。
解法:建立user_id的索引。
建立方式:ALTER TABLE `order` ADD INDEX `idx_user_id` (`user_id`);注意:添加索引的时候需要注意兼顾查询、插入、更新等操作。
sql数据库基础知识笔试题1. 什么是SQL数据库?SQL(Structured Query Language)是一种用于管理关系数据库管理系统(RDBMS)的编程语言。
它用于创建、修改和管理数据库中的数据,并可以执行查询和数据操作。
2. SQL数据库的常见类型有哪些?常见的SQL数据库类型包括:- MySQL:开源的关系数据库管理系统,支持跨平台使用,被广泛应用于Web 开发。
- Oracle:一个全功能的关系数据库管理系统,适用于大型企业级应用。
- Microsoft SQL Server:由微软开发的关系数据库管理系统,适用于Windows 环境。
- PostgreSQL:开源的关系数据库管理系统,拥有很强的扩展性和兼容性。
- SQLite:嵌入式关系数据库管理系统,适用于小型应用或移动设备。
3. SQL数据库的基本操作有哪些?SQL数据库的基本操作包括:- 创建数据库:CREATE DATABASE database_name;- 删除数据库:DROP DATABASE database_name;- 创建表:CREATE TABLE table_name (column1 datatype, column2 datatype, ...);- 删除表:DROP TABLE table_name;- 插入数据:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);- 更新数据:UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;- 删除数据:DELETE FROM table_name WHERE condition;- 查询数据:SELECT column1, column2, ... FROM table_name WHERE condition;4. SQL数据库中的数据类型有哪些?SQL数据库中常见的数据类型包括:- 整数类型:INT, SMALLINT, BIGINT- 浮点数类型:FLOAT, DOUBLE- 字符串类型:CHAR, VARCHAR- 日期和时间类型:DATE, TIME, DATETIME- 布尔类型:BOOLEAN5. 什么是SQL语句的约束?SQL语句的约束用于限制对数据库中数据的操作。
SQL高级复习题类型:(笔试)范围:内测/月考日期:时长:1小时总分数:100 分姓名:准考证号:证件号码:理论部分注意:考试结束试卷必须交回,答案填写在答题卡上1.( )不属于任何文件组。
(选一项)A、次数据文件B、主数据文件C、日志文件D、其他2.E-R图中,关系集用下面( )来表示。
(选一项)A、矩形B、椭圆形C、菱形D、圆形3.SQL Server数据库有2种登录认证方式。
其中在( )方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。
(选一项)A、Windows身份验证。
B、以超级用户身份登录时。
C、SQL Server 身份验证。
D、以系统身份登录时。
4.SQL Server数据库中,下列不属于T-SQL事务管理语句的是(选一项)A、BEGIN TRANSACTION;B、END TRANSACTION;C、COMMIT TRANSACTION;D、ROLLBACK TRANSACTION;5.Sql server中,( )命令用来删除表对象。
(选一项)A、DropB、RemoveC、TruncateD、Delete6.SQLServer2005中,已知执行语句:select count(score),sum(score)from score返回的结果是10和750,那么执行语句:select avg(score) from score,返回的结果是(选一项)A、10B、75C、750D、75007.SQLSever 2005中数据库中,关键字()标志着批处理的结束。
(选一项)A、ENDB、GOC、FINISHD、PRINT8.UNIQUE约束和主键约束也是哪种完整性的体现(选一项)A、域完整性B、引用完整性C、实体完整性D、其他9.对于下面的存储过程:CREATE PROCEDURE Myp1 @p Int AsSelect Studentname,Age from Students where Age=@p假如你要在Students表中查找年龄是18岁的学生,()可以正确的调用这个存储过。
SQL数据库典型面试题(笔试题)1.一道SQL语句面试题,有关group by表内容:-05-09 胜-05-09 胜-05-09 负-05-09 负-05-10 胜-05-10 负-05-10 负如果要生成下列成果, 该如何写sql语句?胜负-05-09 2 2-05-10 1 2------------------------------------------create table #tmp(rq varchar(10),shengfu nchar(1)) insert into #tmp values('-05-09','胜')insert into #tmp values('-05-09','胜')insert into #tmp values('-05-09','负')insert into #tmp values('-05-09','负')insert into #tmp values('-05-10','胜')insert into #tmp values('-05-10','负')insert into #tmp values('-05-10','负')1)select rq, sum(case when shengfu='胜' then 1 else 0 end)'胜',sum(case when shengfu='负' then 1 else 0 end)'负' from #tmpgroup 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 N.rq=M.rq3)select a.col001,a.a1 胜,b.b1 负 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) bwhere a.col001=b.col0012.请教一种面试中遇到旳SQL语句旳查询问题表中有A B C三列,用SQL语句实现:当A列不小于B列时选择A列否则选择B 列,当B列不小于C列时选择B列否则选择C列。
sql笔试题总结一、SQL笔试题总结的重要性SQL可是数据库操作里相当重要的一部分呢,对于咱们这些在数据领域摸爬滚打的人来说,SQL笔试题就像是一个个小怪兽,得把它们都打败,才能在工作或者学习里更上一层楼。
就像在游戏里要通关一样,每一道笔试题都是一个关卡。
二、常见的SQL笔试题类型1. 查询语句相关简单查询单个表的数据。
比如说有一个员工表,里面有员工的名字、年龄、部门等字段,要查询出年龄大于30岁的员工名字。
这就像是在一群人中找出特定的一部分人一样有趣。
多表联查。
像有一个订单表和一个客户表,订单表有客户编号,要查询出每个客户的订单数量。
这就像是把不同的拼图碎片拼在一起,找到它们之间的联系。
2. 数据修改语句插入数据。
例如往一个新创建的产品表中插入一些产品信息,要注意数据类型的匹配,就像把合适的东西放到合适的盒子里。
更新数据。
如果发现员工的部门调整了,要在员工表中更新他们的部门信息,可不能弄错了哦。
3. 数据定义语句创建表。
要考虑好表的结构,有哪些字段,每个字段是什么类型的。
就像盖房子之前要设计好蓝图一样。
删除表。
虽然这个操作要小心再小心,但有时候确实需要清理一些没用的表。
三、应对SQL笔试题的方法1. 基础知识要扎实要清楚SQL的语法规则,像关键字的用法、标点符号的使用等。
这就好比是学走路,先得把步子迈稳了。
理解数据库的基本概念,例如关系型数据库的关系模式等。
2. 多做练习可以从网上找一些SQL笔试题的资源,像一些技术论坛或者学习网站上都有很多。
自己动手做一些小项目,把学到的SQL知识运用到实际的场景中。
3. 分析题目思路拿到一道笔试题,先不要急着写代码,要先理解题目的要求。
是查询数据、修改数据还是其他的呢?想清楚要用什么方法来解决,是用简单的查询语句还是需要多表联查等复杂的操作。
四、总结在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 名学生;每一名学生必须属于一个班级。
《MySchool数据库设计优化》内部测试-笔试试卷1) 在SQL Server 中,为数据库表建立索引能够()。
A. 防止非法的删除操作B. 防止非法的插入操作C. 提高查询性能D. 节约数据库的磁盘空间2) 在SQL SERVER中,创建一个表使用()语句。
A. INSERTB. DROPC. CREA TED. ALERT3) 在SQL SERVER中,下面关于视图说法错误的是()。
A. 对查询执行的大多数操作也可以在视图上进行B. 使用视图可以增加数据库的安全性C. 不能利用视图增加,删除,修改数据库中的数据D. 视图使用户更灵活的访问所需要的数据4) 在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的()阶段。
A. 需求分析B. 概要设计C. 逻辑设计D. 物理设计5) 在SQL Server 数据库中,如果强制要求grades表中的学员必须是Students表中存在的学员,以下描述正确的是()。
A. 在grades表中创建外键约束B. 在grades表中创建检查约束C. 在grades表中创建唯一约束D. 在grades表中创建默认约束6) 在SQL Server 数据库中,下面的T-SQL语句段执行第三句时出现错误,数据库中的内容修改情况是()。
BEGIN TRANSACTIONupdate Account set balance=7800 where id=1update Account set balance=9000 where id=1IF @@error <> 0ROLLBACK TRANSACTIONELSECOMMIT TRANSACTIONA. Account表中id为1的记录中balance字段的值被修改为7800B. Account表中id为1的记录中balance字段的值被修改为9000C. Account表中id为1的记录中balance字段的值不变D. 不可能发生这种情况7) 在SQL Server 数据库中,有关下列T-SQL语句的功能,说法正确的是()。
sql语句笔试题摘要:1.SQL 语句概述2.SQL 语句的分类3.SQL 语句的基本语法4.SQL 语句在笔试题中的应用5.SQL 语句笔试题的解题技巧正文:【1.SQL 语句概述】SQL 语句(Structured Query Language)是一种用于管理关系型数据库的编程语言。
它可以用于查询、插入、更新和删除数据库中的数据,还可以用于创建和修改数据库表结构。
SQL 语句具有丰富的功能和高度的灵活性,是数据库管理员和开发人员必备的技能。
【2.SQL 语句的分类】SQL 语句主要分为以下几类:1.数据查询语句:如SELECT 语句,用于查询数据库中的数据。
2.数据插入语句:如INSERT 语句,用于向数据库中插入新的数据。
3.数据更新语句:如UPDATE 语句,用于更新数据库中的数据。
4.数据删除语句:如DELETE 语句,用于删除数据库中的数据。
5.数据定义语句:如CREATE、ALTER 和DROP 语句,用于定义、修改和删除数据库表结构。
【3.SQL 语句的基本语法】SQL 语句的基本语法包括:1.SELECT 语句:用于查询数据库中的数据。
其基本语法为:SELECT column_name(s) FROM table_name WHERE condition;2.INSERT 语句:用于向数据库中插入新的数据。
其基本语法为:INSERT INTO table_name(column1, column2,...) VALUES (value1, value2,...);3.UPDATE 语句:用于更新数据库中的数据。
其基本语法为:UPDATE table_name SET column_name = new_value WHERE condition;4.DELETE 语句:用于删除数据库中的数据。
其基本语法为:DELETE FROM table_name WHERE condition;5.CREATE 语句:用于创建数据库表。
sql笔试题1. 查询语句请编写一条SQL查询语句,查询表"students"中所有年龄大于20岁的学生信息,并按照年龄从小到大排序。
```SQLSELECT *FROM studentsWHERE age > 20ORDER BY age ASC;```2. 插入语句请编写一条SQL插入语句,向表"courses"中插入一门新课程,包括课程名称和教师姓名(course_name和teacher_name)。
```SQLINSERT INTO courses (course_name, teacher_name)VALUES ('新课程名称', '教师姓名');```3. 更新语句请编写一条SQL更新语句,将学生表"students"中年龄大于25岁的学生的年龄设为26岁。
```SQLUPDATE studentsSET age = 26WHERE age > 25;```4. 删除语句请编写一条SQL删除语句,删除表"courses"中课程名称为"删除课程"的记录。
```SQLDELETE FROM coursesWHERE course_name = '删除课程';```5. 联结查询请编写一条SQL查询语句,查询学生表"students"中每个学生的姓名、所选课程的名称以及对应课程的学分。
```SQLSELECT students.student_name, courses.course_name, courses.creditFROM studentsINNER JOIN course_selectionON students.student_id = course_selection.student_idINNER JOIN coursesON course_selection.course_id = courses.course_id;```6. 子查询请编写一条SQL查询语句,查询年龄大于20岁,并且所选课程学分大于3的学生信息。
1、查找整个职员表的所有内容。
select *from employees2、查看雇员名字(last_name)。
select last_namefrom employees3、查看雇员编号、名字和工种。
select last_name,job_id,employee_idfrom employees4、显示所有雇员的姓名、工资并将DEPARTMENT_ID显示为(Department_Id)。
select last_name,salary,DEPARTMENT_ID as Department_Idfrom employees5、查找在60号部门工作的雇员。
select last_name+first_name name,department_idfrom employeeswhere departmet_id=606、要求查找职位为SH_CLERK和SA_MAN的雇员姓名(last_name)。
select last_name job_idfrom employeeswhere job_id in (’sh_clerk’,’sa_man’)7、查找职位不是SH_CLERK和SA_MAN的雇员工种及姓名。
将姓名显示为(first_name+last_name命名为”Name”)。
select first_name+last_name Name, job_idfrom employeeswhere job_id not in (’sh_clerk’,’sa_man’)8、查找哪些雇员的工资在2000到3000之间select *from employeeswhere salary between 2000 and 30009、查找哪些雇员的工资不在3000到5000之间select *from employeeswhere salary not between 3000 and 500010、查找first_name以D开头,后面仅有三个字母的雇员信息。
select *where first_name like ‘D___’ and first_name not like ‘d__ ‘11、查找last_name以K开头的雇员信息。
select last_name,first_name,department_idfrom employeeswhere last_name like ‘k%’12、查找名字以字母M开头,以l结尾,并且第三个字母为c的雇员名字(First_name)、工种和所在部门号select first_name,job_id,department_idfrom employeeswhere first_name like ‘m_c%l’13、查找哪些雇员的工种名不以SA开头。
select job_idfrom employeeswhere job_id not like ’sa%’14、查找没有奖金的雇员信息。
select *from employeeswhere commission_pct is null15、查找有奖金的雇员信息。
select *from employeeswhere commission_pct is not null16、查找30号部门里不是CLERK的雇员信息。
select *from employeeswhere department_id=30 and job_id not like ‘%clerk%’17、查找在30号部门工作或不是CLERK的雇员信息。
select *from employeeswhere department_id=30or job_id not like ‘%clerk%’查找60号部门且工资大于5000的员工的信息select *from employeeswhere department_id=60and salary>500018、按字母顺序显示雇员的名字(last_name)。
select last_namefrom employeesorder by last_name19、按部门号降序显示。
select * from employees order by department_id desc20、查找工资高于$2000的雇员信息,按部门号和雇员名字排序。
select * from employees where salary>2000 order by department_id,employee_id21、选择奖金高于5%的雇员信息SELECT FIRST_NAME, LAST_NAME, COMMISSION_PCTFROM dbo.EMPLOYEESWHERE (COMMISSION_PCT > .05)22 查询年工资高于50000的员工信息select * from employees where 12*salary>5000023 查询奖金高于5000的员工姓名day1、查出部门地区编号为1700的员工姓名select first_name,last_name,city,department.location_idfrom locations,employees,departmentwhere locations.location_id=department.location_idand locations.location_id=17002、查询工作地区为北京的员工名及工资信息select first_name,last_name,salary,commission_pct,cityfrom locations,employees,departmentswhere departments.location_id=locations.location_idand departments.department_id = employees.department_idand departments.location_id=17003、查询薪水标准为B类的员工名称和员工薪水以及工资类别名称select last_name,first_name,salary,commission_pct,grafrom departments d,employees e,job_grades jwhere e.salary between j.lowest and j.highestand j.gra=’b’and d.department_id=e.department_id4、查询出主管Raphaely管理的员工和薪水信息select st_name+a.first_name as name, a.salary,mission_pct,st_name from employees a,employees bwhere a.department_id=b.department_idand s t_name like ‘%raphaely%’5、查出雇员所在的部门,并将没有雇员的部门的记录也显示出来。
select st_name+e.first_name as name,d.department_idfrom departments dleft outer join employees eon (e.department_id=d.department_id)6、查询出没有分配部门的员工信息select st_name+e.first_name as name,e.department_idfrom departments dleft outer join employees eon (e.department_id=d.department_id)where d.department_id is null7、计算每个部门的平均工资和工资总和select department_id,sum (salary) sum,avg (salary) avgfrom employeesgroup by department_id8、查询每个部门的每个工种的雇员数select count(*)num,department_id,job_idfrom employeesgroup by department_id,job_id9、请算出employee表中总雇员数量select count(*)from employee10.请算出employee表中所有雇员的平均工资select avg(salary)from employee11.请查询出employee表中的最低工资select min(salary)from employee12.请查询出employee表中最高工资select max(salary)from employee13、请计算出每个部门的平均工资、最高工资和最低工资select max(salary) max,min(salary) min,avg(salary) avg,department_idfrom employeegroup by department_id14、查询按部门名称分组工资总和大于4200的部门名称、工资和select department_name,sum(salary)from employees e,departments dwhere e.department_id=d.department_idgroup by department_namehaving sum(salary)>4200test0011.请查询出employee表中最低工资的雇员select last_namefrom employeewhere salary=(select min(salary) from employee)2.请查询出employee表中最高工资的雇员select last_namefrom employeewhere salary=(select max(salary) from employee)3、查询工资高于105号雇员的last_name,并且工种与他相同的雇员情况。
select last_name,job_id,salaryfrom employeeswhere salary>(select salary from employees where employee_id=’105′)and job_id=(select job_id from employees where employee_id=’105′)4、查询工资高于或等于30号部门工资最高额的雇员。