SQL语句面试问答(一)

一、单表查询面试题:

CREATE TABLE students (
	studentNo int(10) primary key auto_increment, 
	name varchar(10),  
	sex varchar(1), 
	hometown varchar(20), 
	age int(4), 
	class varchar(10), 
	card varchar(20)
);

INSERT INTO students (name, sex, hometown, age, class, card)
VALUES('王一','男','北京','20','1班','123456'), 
	('诸二','男','上海','18','2班','123789'), 
	('张三','男','南京','124','3班','123147'), 
	('白四','男','安徽','22','4班','123258'), 
	('杨五','女','天津','19','3班','123369'), 
	('孙六','女','河北','18','1班','145236'), 
	('赵七','男','山西','20','2班','125698'), 
	('小八','女','河南','15','3班',NULL), 
	('久久','男','湖南','21','1班',''), 
	('史十','女','广东','26','2班','159875'),  
	('李十一','男','北京','30','4班','147896'),  
	('孙十二','男','新疆','26','3班','125632');
 
CREATE TABLE courses (
courseNo int(10) PRIMARY KEY AUTO_INCREMENT, 
name varchar(10)
);
 
INSERT INTO courses
VALUES ('1','数据库'), 
	('2','qtp'), 
	('3','Linux'), 
	('4','系统测试'), 
	('5','单元测试'), 
	('6','测试过程');

CREATE TABLE scores (
	id int(10) PRIMARY KEY AUTO_INCREMENT, 
	courseNo int(10), 
	studentNo int(10),  
	score int(4)
);

INSERT INTO scores
VALUES ('1','1',1,'90'), 
	('2','2',2,'98'), 
	('3','1',2,'75'), 
	('4','3',1,'86'), 
	('5','3',3,'80'), 
	('6','4',4,'79'), 
	('7','5',5,'96'), 
	('8','6',6,'80');

1、查询学生"张三”的基本信息

select * from students where name='张三'

2、查询学生“李十一“或“孙十二”的基本信息

select * from students where name='李十一' or name='孙十二'

3、查询姓“张”学生的姓名,年龄,班级

select name,age,class from students where name='张%'

4、查询姓名中含有“一”字的学生的基本信息

select * from student where name='%一%'

5、查询姓名长度为三个字,姓“孙”的学生的学号,姓名,年龄,班级,身份证号

select studentNo,name, age, class, card from students where name like '孙__'

select studentNo,name, age, class, card from students 
where char_length(name) = 3  -- 确保姓名长度为3个字符
    and 姓名 like '孙%';   -- 确保姓"孙"

6、查询姓“白”或者姓“孙”的学生的基本信息

select * from students where name like '白%' or name like '孙%'

7、查询姓"白"并且家乡是"山西”的学生信息

select * from students where name like '白%' and hometown='山西'

8、查询家乡是“北京”、“新疆”、“山东"或者"上海"的学生的信息

select * from students where hometown='北京' or hometown='新疆' or hometown='山东' or hometown='上海'

select * from students where hometown in ('北京','新疆','山东','上海')

9、查询姓“孙”,但是家乡不是“河北”的学生信息

select * from students where name like '孙%' and honmetown!='河北'

10、查询家乡不是“北京”、“新疆”、"山东”、”上海”的学生的信息

select * from students 
where hometown!='北京' or hometown!='新疆' or hometown!='山东' or hometown!='上海'

select * from students where hometown not in ('北京','新疆','山东','上海')

11、查询全部学生信息,并按照“性别”排序

select * from students order by sex

12、查询现有学生都来自于哪些不同的省份

select honetown from students group by hometown

13、查询所有男生,并按年龄升序排序

select sex from students where sex='男' order by age asc

14、统计共有多少个学生

select count(*) from students 

15、统计年龄大于20岁的学生有多少个

select count(*) from students where age>'20'

16、统计男生的平均年龄

select avg(age) from students where sex='男'

17、查询1班学生中的最大年龄是多少

select max(age) from students where class='1班'

18、统计2班男女生各有多少人

select sum(sex='男') as '男生总数',sum(sex='女') as '女生总数' from students where class='2班'

select sex,count(*) from students where class='2班' group by sex

19、统计每个班级中每种性别的学生人数,并按照班级升序排序

select class,sex,count(*) from students group by class,sex order by class

问题来源:米兔软件测试

#mysql面试题##测试#
测试岗面经 文章被收录于专栏

整理面试过程中的测试问答,常看常新,多多学习!有些问题是从其他人那里转载而来,会在文章下面注明出处,希望大家多多支持~~

全部评论

相关推荐

06-26 10:10
已编辑
浙江理工大学 C++
6.20 一面(1小时)1.自我介绍2-?都是c++的基础八股,不难,忘了,提一下记得的,oop三特性,多态,虚函数,动态数组,vector,插入频繁用什么,智能指针,类构造和析构顺序(抢答成员初始化顺序)?+1 合并区间,应该是简单题?+2 设计一个动态数组,包含添加插入删除元素的功能6.24 二面(18分钟???)1.介绍一下校园或者是实习经历(没自我介绍)2.看你客户端,服务端,底层都有涉及,你更倾向于什么,为什么3.说c++八股一面问过了不问,问了爬楼梯4.有个画图功能,需要加入撤销恢复功能怎么设计5.一张a4纸上有若干点,每次查询随机给出一个圆心和半径,如何快速得到所有在圆内的点,答的自底向上的分块,引导自顶向下的分治6. 一枚质地不均匀的硬币,也就是抛出正反面的概率不一样,两个人需要通过抛硬币决定谁赢,怎么设计规则比较公平啊,二面过了,等6.25三面+hr面6.25 cto+hrbp(17分钟)1. 对方自我介绍2.跟2面的2一样3. 没八股,好像是问的项目中的某个问题,一开口就停不下来巴拉巴拉然后被打断了4.刚才提到实习中有搜索相关模块如果背包中有上万种物品,如何进行快速的搜索。5. 现在是能立即到岗吗6.反问7.跟2差不多8.提到习惯为用户考虑,有没有具体的例子9.对业务了解怎么样10.期望薪资11.现在是住在xx区吗12.反问问到引擎熟悉度,坏,破绽了6.26 三面过了,等安排终面
查看38道真题和解析
点赞 评论 收藏
分享
评论
6
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务