select 查询(note3)

第四周(select 查询)

  1. 创建数据库xscj

  2. 创建三张数据表xs, kc xs_kc;

  3. 导入数据

  4. 定义列别名

    select 学号 as number,姓名 as name,总学分 as mark from xs where 专业名="计算机";
    
    -- select 列名1 as 列名新名1,列名2 as 列名新名2 from 表名称  where 条件;
    -- where 后面不能使用列别名,执行where代码时,可能尚未确定列值
    
  5. 替换查询结果中的数据

-- 查询xs表中计算机专业各同学的学号,姓名和总学分,对总学分按住奥如下规则进行替换
-- 总学分为空值,替换尚未选课
-- 总学分小于50,替换为不及格
-- 总学分在50-52,替换为合格
-- 总学分大于52,替换为优秀
-- 总学分列标题改为列别名等级

select 学号,姓名,
CASE
WHEN 总学分 is null then '尚未选课'
WHEN 总学分 <50 THEN '不及格'
WHEN 总学分 >=50 AND 总学分 <52 THEN '合格'
WHEN 总学分 >=52 THEN '优秀'
END AS 等级
FROM xs WHERE 专业名='计算机';


select 列名1列名2,
-- 分支语句
case when 列名 情况1 then 备注   	 (中间情况为空的情况用 is null)
	 when 列名 情况2 then 备注
	 when 列名 情况3 and 情况4 then 备注
	 ......
end as 列别名
from 表名 where 条件;
-- 按120分值重新计算,显示xs_kc表中学号为081101的学生成绩信息
select distinct 学号,课程号,成绩*1.2 as 成绩120分制 from xs_kc where 学号='081101';
-- distinct 清除重复行

-- 清除结果中重复行,可用distinct或distinctrow关键字删除重复行
原文地址:https://www.cnblogs.com/Jamdu0406/p/12752769.html