因为涉及到SQL优化的问题, 所以具体列出来
方法一: 先用user_profile连接question_practice_detail然后再where进行过滤, 最后排序即可
select 
    up.device_id,
    qpd.question_id,
    qpd.result
from user_profile up
left join question_practice_detail qpd on up.device_id=qpd.device_id
where university='浙江大学'
order by qpd.question_id asc
方法二: 先用where对表一进行过滤, 然后在连接question_practice_detail进行查询
select t1.device_id,
    qpd.question_id,
    qpd.result
from (
    select 
    up.device_id
    from user_profile up
    where up.university='浙江大学'
) t1
left join question_practice_detail qpd on t1.device_id=qpd.device_id
order by qpd.question_id asc
两种方法在执行层面上, 方法一先join, 在过滤查询, 当表一数据量大时, 查询效率会很慢;
方法二先降低表1的数据量, 再进行关联, 效率提升较大
但是注意: mysql自带的优化器会对方法一进行优化, 哪怕是按方法一提交的代码, 优化器也会先对表1过滤再关联查询.