本文目录导读:
SQL基础查询
1、查询所有学生姓名和年龄
SELECT name, age FROM students;
2、查询所有男生的姓名和年龄
图片来源于网络,如有侵权联系删除
SELECT name, age FROM students WHERE gender = '男';
3、查询年龄大于20岁的学生姓名和年龄
SELECT name, age FROM students WHERE age > 20;
SQL条件查询
1、查询所有年龄在18到25岁之间的学生姓名和年龄
SELECT name, age FROM students WHERE age BETWEEN 18 AND 25;
2、查询所有性别为男,且年龄大于20岁的学生姓名和年龄
SELECT name, age FROM students WHERE gender = '男' AND age > 20;
3、查询所有姓名中包含“明”的学生姓名和年龄
SELECT name, age FROM students WHERE name LIKE '%明%';
SQL排序与分组
1、按年龄降序查询所有学生姓名和年龄
SELECT name, age FROM students ORDER BY age DESC;
2、查询每个性别的人数
图片来源于网络,如有侵权联系删除
SELECT gender, COUNT(*) AS num FROM students GROUP BY gender;
3、查询年龄大于20岁的学生中,每个年龄的人数
SELECT age, COUNT(*) AS num FROM students WHERE age > 20 GROUP BY age;
SQL连接查询
1、查询学生姓名、年龄和专业名称
SELECT s.name, s.age, c.name AS course_name FROM students s JOIN courses c ON s.course_id = c.id;
2、查询没有选修过课程的学生姓名
SELECT name FROM students s WHERE NOT EXISTS (SELECT * FROM courses c WHERE s.course_id = c.id);
3、查询每个专业的学生人数
SELECT c.name AS course_name, COUNT(*) AS num FROM students s JOIN courses c ON s.course_id = c.id GROUP BY c.name;
SQL子查询
1、查询所有选修了“数据库原理”课程的学生姓名和年龄
SELECT s.name, s.age FROM students s WHERE s.course_id = (SELECT id FROM courses WHERE name = '数据库原理');
2、查询所有没有选修过“数据库原理”课程的学生姓名和年龄
图片来源于网络,如有侵权联系删除
SELECT s.name, s.age FROM students s WHERE s.course_id NOT IN (SELECT id FROM courses WHERE name = '数据库原理');
3、查询年龄大于平均年龄的学生姓名和年龄
SELECT name, age FROM students WHERE age > (SELECT AVG(age) FROM students);
SQL事务与锁
1、创建一个学生表和学生课程表,并插入数据
CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), age INT, gender VARCHAR(10) ); CREATE TABLE courses ( id INT PRIMARY KEY, name VARCHAR(50) ); INSERT INTO students VALUES (1, '张三', 20, '男'); INSERT INTO students VALUES (2, '李四', 21, '男'); INSERT INTO students VALUES (3, '王五', 22, '男'); INSERT INTO courses VALUES (1, '数据库原理'); INSERT INTO courses VALUES (2, '操作系统');
2、使用事务查询学生姓名、年龄和专业名称
BEGIN TRANSACTION; SELECT s.name, s.age, c.name AS course_name FROM students s JOIN courses c ON s.course_id = c.id; COMMIT;
3、使用锁查询学生姓名、年龄和专业名称
BEGIN TRANSACTION; SELECT s.name, s.age, c.name AS course_name FROM students s JOIN courses c ON s.course_id = c.id WITH (ROWLOCK); COMMIT;
是SQL关系数据库语言常见题型的解析,希望对大家有所帮助,在实际应用中,SQL语言的功能非常强大,熟练掌握SQL语言对于数据库操作和开发至关重要。
标签: #关系数据库语言sql题答案
评论列表