1.视图可以理解为一种特殊的表,但是毋庸置疑,肯定和表是有区别的,废话不多说,直接说使用。视图一般应用于多表查询,
比如你需要从多张表中获取数据:
首先,你不可能用一个号一遍遍的去遍历每一张表
其次,即使你写出了一个繁琐的查询SQL,你也不可能每次遇到相同的问题时,再次书写。这时候建立一个视图就太有用了,你可以把你一次性写好的
SQL作为一个试图保存在数据库中,这样下次你就可以通过查询视图的方式来查询里面的内容,听起来是不是很诱人。
2.语法:
(1)创建:create view 视图名称 as select.....
这里的视图名称任意命名,可以为汉字。
这里的as是固定写法,后面直接加我们要书写的正常的查询select语句即可;
(2)删除视图:drop view 视图名称
2.上个实例:背景是我想从多张表中获取到我需要的字段;书写如下:
create view `徽商规则数据源_百融_宜信_安融_国政通`
as
select
a.apply_id as `申请号`,a.certi_code as `身份证号`,
b.cardnumresult as `宜信_证件号码校验结果`,b.mobileresult as `宜信_手机号校验结果`,
e.ninetydayscount as `宜信_逾期超90天`,
c.bank_bad as `百荣_手机号_银行不良`,c.bank_fraud as `百荣_手机号_银行欺诈`,c.bank_lost as `百荣_手机号_银行失联`,
c.court_bad as `百荣_手机号_法院黑名单`,c.insurance_fraud `百荣_手机号_保险欺诈`,c.p2p_bad as `百荣_手机号_P2P不良`,
c.p2p_fraud as `百荣_手机号_P2P欺诈`,c.p2p_lost as `百荣_手机号_P2P失联`,
d.bank_bad as `百荣_身份证号_银行不良`,d.bank_fraud as `百荣_身份证号_银行欺诈`,d.bank_lost as `百荣_身份证号_银行失联`,
d.court_bad as `百荣_身份证号_法院黑名单`,d.insurance_fraud `百荣_身份证号_保险欺诈`,d.p2p_bad as `百荣_身份证号_P2P不良`,
d.p2p_fraud as `百荣_身份证号_P2P欺诈`,d.p2p_lost as `百荣_身份证号_P2P失联`,
f.apply_id as `安融_司法失信`,g.apply_id as `安融_司法执行`,h.apply_id as `安融_催收公示`,
i.apply_id as `国政通_信息规则`
from edt_dstrace_detail a
left join edt_yx_risk_borrow_query e on a.apply_id=e.apply_id
left join edt_yx_risk_borrow_info b on a.apply_id=b.apply_id
left join edt_br_special_cell_list c on a.apply_id=c.apply_id
left join edt_br_special_list d on a.apply_id=d.apply_id
left join edt_ar_person_cuikuan f on a.apply_id=f.apply_id
left join edt_ar_person_shixininfo g on a.apply_id=g.apply_id
left join edt_ar_person_zhixing h on a.apply_id=h.apply_id
left join edt_gzt_indentity_info i on a.apply_id=i.apply_id;
可以清楚的看到我创建的视图名称为:徽商规则数据源_百融_宜信_安融_国政通
以后我想查看满足这个条件的语句:
select * from `徽商规则数据源_百融_宜信_安融_国政通` where 即可。是不是很方便了。
讲解结束!