博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试宝典系列-mysql面试基础题
阅读量:6589 次
发布时间:2019-06-24

本文共 1326 字,大约阅读时间需要 4 分钟。

  hot3.png

1、char、varchar的区别是什么?

varchar是变长而char的长度是固定的。如果你的内容是固定大小的,char的性能会更好。

2、tinyint、smallint、int、bigint,float、double占用字节数?

tinyint:1个字节   smallint:2个字节,int:4个字节,bigint:8个字节

float:4个字节,double:8个字节

3、varchar(50)和varchar(100)的区别

varchar(50)最多存储50个字节,varchar(100)最多存储100个字节,存储hello字符串所占的内存是一样的,但后者在排序时会消耗更多内存。

4、int(20)中20的含义

是指显示字符的长度,不影响内部存储,只是当定义了ZEROFILL时,前面补多少个 0

5、以下语句是否会应用索引:SELECT * FROM users WHERE YEAR(adddate) < 2007;

不会,因为条件中使用运算,就不能使用索引了

6、一个6亿的表a,一个3亿的表b,通过外键tid关联,你如何最快的查询出满足条件的第50000到第50200中的这200条数据记录。

情况一:如果A表TID是自增长,并且是连续的,B表的ID为索引

select * from a,b where a.tid = b.id and a.tid>50000 limit 200;

情况二:如果A表的TID不是连续的,那么就需要使用覆盖索引.TID要么是主键,要么是辅助索引,B表ID也需要有索引。

select * from b , (select tid from a limit 50000,200) a where b.id = a .tid;

8、Student(S,Sname,Sage,Ssex) 学生表 Course(C,Cname,T) 课程表 SC(S,C,score) 成绩表 Teacher(T,Tname) 教师表 查询没学过“叶平”老师课的同学的学号、姓名 

SELECT	Student.S,	Student.SnameFROM	StudentWHERE	S NOT IN (		SELECT DISTINCT			(SC.S)		FROM			SC,			Course,			Teacher		WHERE			SC.C = Course.C		AND Teacher.T = Course.T		AND Teacher.Tname = ’叶平’	);

9、随机取出10条数据 

SELECT	*FROM	usersWHERE	id >= (		(SELECT MAX(id) FROM users) - (SELECT MIN(id) FROM users)	) * RAND() + (SELECT MIN(id) FROM users)LIMIT 10-- 以下写法肯定不得分,效率不高SELECT * FROM users order by rand() LIMIT 10

更多sql面试题:

转载于:https://my.oschina.net/suyain/blog/1927850

你可能感兴趣的文章
LNMP环境搭建
查看>>
我的友情链接
查看>>
学习linux—— 磁盘相关指令
查看>>
词法分析与语法分析简介
查看>>
JS中的默认行为
查看>>
我的友情链接
查看>>
Checkio代码闯关小计
查看>>
从oracle到mysql,主从到分库,一个普通项目数据库架构的变迁
查看>>
从零开始学wordpress 之四
查看>>
[LeetCode] Course Schedule
查看>>
selenium层级定位及鼠标键盘操作
查看>>
SpringBoot跨域问题解决方案
查看>>
(转载)hibernate3.0配置文件模板
查看>>
46、练习:输出指定目录下的所有文件名称
查看>>
IP地址与数字地址相互转换
查看>>
Knockout.Js官网学习(创建自定义绑定)
查看>>
win10 x64中 windbg x64 安装配置符号库
查看>>
python 抽象类、抽象方法、接口、依赖注入、SOLIP
查看>>
笔记1
查看>>
POJ1068 Parencodings 解题报告
查看>>