admin 管理员组文章数量: 887021
2023年12月18日发(作者:mongodb和mysql性能对比)
1.集合操作:
Union 用第二个查询结果合并第一个查询结果,同时不显示重复的行。
Union all 检索出所有的行,包括重复的行。
intersect 返回两个查询所检索出的共有行。
minus 返回将第二个查询检索出的行从第一个查询检索出的行中减去之后剩余的行。
select ename,dname,job
from dept t,emp p
where = and ='SALES'
union/intersect/minus
select ename,dname,job
from dept t,emp p
where = and ='MANAGER';
2.子查询:
可以在一个select语句中嵌入另一个完整的select语句,但此句的子查询的返回结果只能有一个,如想返回多个可用 in 。
select ename,dname,job
from dept t,emp p
where = and =
(
select dname
from dept t,emp p
where = and =1600.00
);
select ename,dname,job
from dept t,emp p
where = and in
(
select dname
from dept t,emp p
where = and >3000.00
);
3.表的连接:
select
from emp p,dept t
where = and ='SMITH';
由于实施了关系连接的两表是任何连接的,所有需要在where子句中设置主关键字等于外部关键字的条件,否则查询结果不对。
语句:
*简单case语句,使用表达式确定返回值,但case后的变量只有一个;
select ,,,
case
when 10 then 'ACCOUNTING'
when 20 then 'RESEARCH'
when 30 then 'SALES'
else 'T'
end
from dept t;
*搜索case语句,使用条件确定返回值,但when后面可以跟多个条件。
select ,,,
case
when =10 and ='CHICAGO' then 'ACCOUNTING'
when =20 then 'RESEARCH'
when =30 then 'SALES'
else 'T'
end
from dept t;
函数:
decode(value,search_value,result,default_value)
如果value和search_value相等,则返回result,否则返回default_value。
select ,,,
decode(,
10,'ACCOUNTING',
20,'RESEARCH',
30,'SALES',
'T'
)
from dept t;
版权声明:本文标题:SQL操作之复杂的SELECT语句 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1702882752h434514.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论