1.case……end (多选择语句
从数据源上 直接判断数据显示代表的含义
case
when 列名= 条件值1 then 选择项1
when 列名=条件值2 then 选择项2
else 默认值
end
eg:
case
when [商品名称]=‘53’ then ‘商品1’
when [商品名称]=‘AAR’ then ‘商品2’
when [商品名称]=‘ABE’ then ‘商品3’
when [商品名称]=‘ACO’ then ‘商品4’
when [商品名称]=‘AER’ then ‘商品5’
when [商品名称]=‘AGI’ then ‘商品6’
when [商品名称]=‘AGR’ then ‘商品7’
when [商品名称]=‘AIG’ then ‘商品8’
end
2.连接
2.1 内连接
使用比较运算符,根据每个表共有的列的值匹配两个表的行(eg:检索 students和courses表中学生标识 相同的所有行)。
a表
id | name |
---|---|
1 | 张三 |
2 | 李四 |
3 | 王五 |
b表(b.parent_id与a.id存在关系)
id | job | parent_id |
---|---|---|
1 | 23 | 1 |
2 | 34 | 2 |
3 | 34 | 4 |
内连接
select a., b.
from a inner join b on a.id=b.parent_id
2.2 外连接:左向外、右向外和完整外部连接。
在from子句中指定外连接由
1.left join 或left outer join返回指定的左表所有行,右表无则自动补齐NULL值
2.right join 或right outer join返回指定的右表所有行,左表无则自动补齐NULL值
3.full join 或full outer join 返回左表和右表中的所有行,两边表无则自动补齐NULL值
2.3交叉连接
返回左表所有行,左表每一行与右表的所有行组合,交叉连接也叫笛卡尔乘积
文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树SQL高级技巧CTE和递归查询32963 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!