SQL题解 | #浙江大学用户题目回答情况#
浙江大学用户题目回答情况
https://www.nowcoder.com/practice/55f3d94c3f4d47b69833b335867c06c1
select
practice.device_id,
practice.question_id,
practice.result
from
question_practice_detail as practice
inner join
user_profile as user
on
practice.device_id = user.device_id
where
user.university='浙江大学'
order by
practice.question_id asc
1.连接查询
内连接,只会连接左右id都存在的条目。
from A inner join B on A.id=B.id
左连接,会保留左侧表(A)的所有数据。若A表的某个id值,在B表中并不存在,那么将会在B表中对于id之外的字段填充null
from A left join B on A.id=B.id
右连接,会保留右侧表(B)的所有数据。若B表的某个id值,在A表中并不存在,那么将会在A表中对于id之外的字段填充null
from A right join B on A.id=B.id
2.关于字段别名
若任何表中的字段都不重复,那么其实没有必要设置别名。
若任意表中有两个以上的表有重名字段,那么推荐给表重命名,并且后续的 on、where、having、order by、select 操作都建议采用 重命名后的表名.对应字段 来进行取值

查看4道真题和解析