数据库面试及笔试题解析

需积分: 0 1 下载量 109 浏览量 更新于2024-09-14 收藏 83KB PDF 举报
"数据库面试题目,包括SQL语句的基础操作,如建表、查询,以及条件查询等。" 本文将详细解析上述数据库面试题目中涉及的知识点,旨在帮助准备数据库面试的朋友更好地理解和掌握SQL基础。 首先,我们来看新建的三个数据库表: 1. 学生表(Student):包含字段Sno(学号,主码),Sname(姓名),Ssex(性别),Sage(年龄),Sdept(所在系)。 2. 课程表(Course):包含字段Cno(课程号,主码),Cname(课程名),Cpno(先行课号),Credeit(学分)。 3. 学生选修表(SC):包含字段Sno(学号,主码),Cno(课程号,主码),Grade(成绩)。 接下来是一些SQL查询题目: 1. 查询全体学生的学号和姓名:`SELECT Sno, Sname FROM Student` 2. 查询全体学生的姓名、学号、所在系:`SELECT Sno, Sname, Sdept FROM Student` 3. 查询全体学生的详细记录:`SELECT * FROM Student` (*代表所有列) 4. 查询全体学生的姓名及出生年份:`SELECT Sname, Sage FROM Student` 5. 查询全体学生的姓名、出生年份及用小写表示的所在系:`SELECT Sname, Sage, LOWER(Sdept) AS Sdept FROM Student` (LOWER()函数用于转换为小写) 6. 查询选修了课程的学生学号:`SELECT Sno FROM SC` 7. 查询选修了课程的学生姓名:`SELECT DISTINCT Sname FROM Student, SC WHERE Student.Sno = SC.Sno` (DISTINCT去除重复) 接着是条件查询的相关题目: 1. 常见的查询条件包括等于(=),小于(<),大于(>),大于等于(>=),小于等于(<=),不等于(!=)。 2. 范围查询:`BETWEEN AND` 和 `NOT BETWEEN AND`。 3. 集合查询:`IN` 和 `NOT IN`。 4. 字符匹配:`LIKE` 和 `NOT LIKE`。 5. 空值查询:`IS NULL` 和 `IS NOT NULL`。 6. 多重条件:`AND` 和 `OR` 运算符。 1. 查询计算机系全体学生的姓名:`SELECT Sname FROM Student WHERE Sdept = 'CS'` 2. 查询所有年龄在20岁的学生:`SELECT * FROM Student WHERE Sage BETWEEN 20 AND 20` 通过这些题目,我们可以看到SQL的基本用法,包括选择数据(SELECT)、条件过滤(WHERE子句)以及聚合操作(如DISTINCT)。同时,也体现了SQL在处理关联数据时的能力,如在学生表和选修表之间进行联接查询。理解并熟练运用这些概念对于任何数据库相关的职位都是至关重要的。