常见sql面试题

昨天朋友发来一个面试题,心血来潮自己写了下,废话不多说,直接上图和答案

这里是2张表,A表=studenta,学号=student,name=姓名,年龄=age

B表=scoreb 流水号=id ,课程=course,学号=student,分数=score

1.查询成绩大于80分,显示字段:学科,姓名,年龄,分数;

SELECT

a.NAME,

a.age,

b.course,

b.score

FROM

studenta a

INNER JOIN scoreb b ON a.student = b.student

WHERE

b.score > 80

2.查询至少2门以上成绩大于80分的学员,显示字段,学号,姓名;

SELECT

a.student,

a.`name`

FROM

studenta a

JOIN scoreb b ON a.student = b.student

WHERE

b.score > 80

GROUP BY

a.student,

a.NAME

HAVING

COUNT( DISTINCT b.course ) >= 2;

3.学员表增加一个字段性别,并初始化已有学员的性别;

-- 步骤1:修改表结构,向表a中添加性别字段

ALTER TABLE studenta

ADD COLUMN sex VARCHAR(10);

-- 步骤2:更新已有数据,初始化性别信息

-- 假设学号为1的同学性别为男性,学号为2的同学性别为女性

UPDATE studenta SET sex = '男' WHERE student = 1;

UPDATE studenta SET sex = '女' WHERE student = 2;

-- 根据实际情况依次类推

4.5.6比较简单我就不往下写了

相关推荐
Data_Journal5 小时前
用于网页抓取的 Node-unblocker
大数据·开发语言·数据库·python·scrapy
涤生大数据5 小时前
一次“没有运行日志”的DolphinScheduler任务失败排查
大数据·数据库·人工智能·状态模式
专注API从业者5 小时前
告别人工盯品!借助 Open Claw 搭建电商商品自动化监控与数据分析系统(完整可运行源码)
大数据·运维·数据库·数据分析·自动化
viskaz6 小时前
数据库迁移流程学习
数据库
auspicious航6 小时前
PostgreSQL写入慢全攻略:原因排查与性能调优实战
数据库·postgresql
IvorySQL7 小时前
PostgreSQL 日报|逻辑复制行过滤致数据丢失(8 月 21 日)
数据库·postgresql
重生之我是Java开发战士7 小时前
【Java EE】事务与事务的传播机制
数据库·java-ee
润乾软件7 小时前
Trae+SQLazy 编写复杂 SQL 实践
数据库·sql
用户938515635077 小时前
掘金风格后端数据库设计实战:从用户表到分布式架构,一文搞定
后端·sql
会编程的吕洞宾7 小时前
Redis大Key拖垮线上?排查定位与治理实战
数据库·redis·bootstrap