sql优化面试题及答案?
1、Mysql 查询是否区分大小写?
不区分
SELECT VERSION(), CURRENT_DATE;
SeLect version(), current_date;
seleCt vErSiOn(), current_DATE;
所有这些例子都是一样的,Mysql 不区分大小写。
2、Mysql 的技术特点是什么?
Mysql 数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多
线程 SQL 服务器、不同的后端、广泛的应用程序编程接口和管理工具。
3、Heap 表是什么?
HEAP 表存在于内存中,用于临时高速存储。
BLOB 或 TEXT 字段是不允许的
只能使用比较运算符=,<,>,=>,= <
HEAP 表不支持 AUTO_INCREMENT
索引不可为 NULL
4、Mysql 服务器默认端口是什么?
Mysql 服务器的默认端口是 3306。
5、与 Oracle 相比,Mysql 有什么优势?
Mysql 是开源软件,随时可用,无需付费。
Mysql 是便携式的
带有命令提示符的 GUI。
使用 Mysql 查询浏览器支持管理
6、如何区分 FLOAT 和 DOUBLE?
以下是 FLOAT 和 DOUBLE 的区别:
浮点数以 8 位精度存储在 FLOAT 中,并且有四个字节。
浮点数存储在 DOUBLE 中,精度为 18 位,有八个字节。
7、区分 CHAR_LENGTH 和 LENGTH?
CHAR_LENGTH 是字符数,而 LENGTH 是字节数。Latin 字符的这两个数据是相同的,但是对
于 Unicode 和其他编码,它们是不同的。
8、请简洁描述 Mysql 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
SQL 标准定义的四个隔离级别为:
read uncommited :读到未提交数据
read committed:脏读,不可重复读
repeatable read:可重读
serializable :串行事物
9、在 Mysql 中 ENUM 的用法是什么?
ENUM 是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用。
Create table size(name ENUM(‘Smail,‘Medium’,‘Large’);
10、如何定义 REGEXP?
REGEXP 是模式匹配,其中匹配模式在搜索值的任何位置。
sql 面试题求答案
- 现有数据库表–仓库if exists (select 1 from sysobjects where id = object_id(dbo.tblWarehouse) and type = U) drop table dbo.tblWarehousego create table dbo.tblWarehouse ( WHID nvarchar(10) collate Chinese_PRC_CI_AS not null, WHDesc nvarchar(100) collate Chinese_PRC_CI_AS null, IsEffective bit not null constraint DF_tblWarehouse_IsEffective default (1), IsDefault bit not null constraint DF_tblWarehouse_IsDefault default (0), constraint PK_tblWarehouse primary key ( WHID) on "PRIMARY")on "PRIMARY"go–WHID 仓库ID WHDesc 仓库描述 IsEffective 是否启用IsDefault 是否缺省(默认)————————————————————————————————————————区域if exists (select 1 from sysobjects where id = object_id(dbo.tblSection) and type = U) drop table dbo.tblSectiongocreate table dbo.tblSection ( WHID nvarchar(100) collate Chinese_PRC_CI_AS not null, SectionID nvarchar(100) collate Chinese_PRC_CI_AS not null, SectionDesc nvarchar(150) collate Chinese_PRC_CI_AS not null, IsEffective bit not null, Remark ntext collate Chinese_PRC_CI_AS null, IsDefault bit not null constraint DF_tblSection_IsDefault default (0), constraint PK_tblSection primary key (WHID, SectionID) on "PRIMARY")on "PRIMARY"Go————————————————————————————————————-
- 没有看到问题
sql语句面试题,关于多表连接
- 有教师表、学生表、成绩表、选课表(字段基本都是那几条,就不写在这上面了)要求查询所有学生的总成绩,以及所有的学生信息,如果学生的姓名有重复的,那么重复姓名总成绩最高的排在重复姓名这些行中的第一行,依次往下
- order by 学生姓名,总成绩 desc额 这里只回答了排序问题,你是想要这个么?
sql语句 面试题
- 三张表:学生表(学号,姓名) 课程表(课程编号,课程名称) 分数表(学号,课程编号,分数)sql语句1:查询每名学生及格了多少门课程 结果包括学号,姓名,及格的课程门数2:查询选修了“语文‘ 并且姓张的学生名单3:查询学修了语文又选修了音乐的学生名单4:查询每门课程及格率 结果包括 课程编号,课程名称,选修人数,及格人数,及格率5:查询每名学生所学课程的平均成绩,并更新到学生表中的平均成绩列中6:查询每名学生所学课程去掉最高,最低后的平均成绩 如所学课程门数不足两门直接就是平均成绩
- A.创建表格CODE省略注明:学生表PK stu_id 课程表pk cos_id 分数表PK enrollment_id FK stu_id,cos_idB.插入数据code省略C.Queryselect s.stu_id,stu_name,count(cos_id) from student s,enrollments e where s.stu_id = e.stu_id and e.grade60 group by s.stu_id,stu_name;select e.stu_id,s.stu_name,c.cos_name from student s,enrollments e,course cwhere s.stu_id = e.stu_idand e.cos_id = c.cos_idand c.cos_name = CHINESEand s.stu_name like W%;select stu_id,stu_name from (select e.stu_id,stu_name,cos_name from enrollments e,student s,course c where s.stu_id = e.stu_idand e.cos_id = c.cos_idand c.cos_name IN (CHINESE,MUSIC))group by stu_id,stu_namehaving count(cos_name) = 2select distinct e.cos_id,c.cos_name,count(e.stu_id) stu_count,count(e.stu_id)-NVL(A.FAIL,0) upscore,(count(e.stu_id)-NVL(A.FAIL,0))count(e.stu_id) rate from (select cos_id,count(stu_id) fail from enrollments where grade60 group by cos_id) a,enrollments e,course cwhere e.cos_id = a.cos_id(+)and e.cos_id = c.cos_idgroup by e.cos_id,NVL(a.fail,0),c.cos_name;update studentset avg_grade =(select avg(grade) X from enrollments group by stu_idhaving student.stu_id = enrollments.stu_id);select stu_id,avg(grade) from(select stu_id,cos_id,grade,row_number() over(partition by stu_id order by grade ) X from enrollments)group by stu_idhaving count(*)=2UNIONselect A.stu_id,avg(A.grade)from(select stu_id,cos_id,grade,row_number() over(partition by stu_id order by grade ) X from enrol……余下全文
SQL面试题求答案
- 如1题SQL ,求答案。这是我写的,思路是否正确?student Tableteacher Table
- 教师和学生间,学生表最好有这个teacherID字段最好对应教师表的某一字段,可以加一个字段比如说工号什么的(这个是唯一的,不要用表里面那个id字段),和学生表的teacherID对应。
求高手解答一道关于SQLService 的面试题
- 6.有两个表,表一的productId 为表2的外键。(表1:产品表,里面有产品ID,产品名,及单价)ProductId ProductName Price 1 PName1 100 2 PName2 150 3 PName3 300 4 PName4 500(表2:销售计划表,里面有产品ID,客户名,订单数量,销售金额)ProductId Customer Quantity SalePrice 1 m 230 2 n 130 3 n 330 4 m 630(1)是否能删除产品表中的Pname2?请说明理由与过程;(2)将销售计划表中m客户的产品名为Pname2的销售单价更改为200;(3)求销售计划表中各客户各自的销售金额的sql语句;(4)求客户中销售总量最大的销售总金额的客户的sql语句;第一题,不知道该怎么答好,第二题看起来好像是错了吧?
- 1不能删除select * from 表2 where ProductId in (select ProductId from 表1 where ProductName=PName2)因为上边结果有记录,所以外键在生效中,无法直接删除,除非表1和表2有级联删除 2第二个,是把销售计划表中m客户的产品名为Pname2的销售单价更改为200吧?,虽然里边没有对应的数据update 销售计划表 set SalePrice=200 where Customer=m and ProductId in (select ProductId from 表1 where ProductName=PName2) 3第三个是这个意思吗?没太理解select Customer,SalePrice from 销售计划表 4select top 1 customer,sum(saleprice) from 销售计划表 group by customer order by sum(saleprice) desc
一道sql面试题求解
- 今天我面试碰到这样一个问题,A表中有id字段,B表中也有id字段,写一个语句完成这样的需求:写一个语句,如果A表中的id字段在B表中没有对应的值,就删除A表中的相应记录。我写了一个语句,面试官问我还有没有别的方式,我想不出来,求解呀,我的方法如下delete from A where A.id not in (select id from B)
- delete from a where not exists(select * from b where a.id=b.id)要这样?
求解一道面试题,SQL语句
- 实施工程师的一道面试题。写出下面的SQL语句,谢谢!!员工表(ERP,CEMPNO,ENAME,JOB,SAL,DEPLNO,DATA) 查询工作(JOB)和 李明相同并且工资(SAL)比刘军高的员工的姓名,工作,工资
- select ename,job,sal from 员工表 where job=(select job from 员工表 where ename=李明)and sal (select sal from 员工表 where ename=刘军)
面试题中的一条sql不会写,求指教
- 有一个学生表,有如下字段:name:学生姓名,yuwen:语文成绩,shuxue:数学成绩。请写出查询语文成绩和数学成绩都在60分以上的学生信息,并能查出语文成绩和数学成绩之和大于160分的学生信息,请用一个sql写出来。
- select * from 学生表 where yuwen60 and shuxue60 and yuwen+shuxue160
SQL面试题目,来SQL熟手
- 现有一张表Goods(id name price)id name price priceLevel (查询这样的结果,100元一下 低价 100-150 中等价 150以上 高价)按价格排序1 香蕉 10.0 中等求解 一条SQL语句 注意只能一条
- 楼主,SQL如下: select *, (case when price 100 then 低价 when (price=100 and price150) then 中等 else 高价 end) as pricelevelfrom Goods order by price asc; 有问题欢迎提问,满意请采纳!