MySql视图

为了简化查询,在实际项目开发过程中,通常可以采用为数据库中的某个表建立视图的方式。在建立的视图中只有开发人员所关心的字段。
create view "chkadmin" as select name, pwd from tb_admin
创建视图
create view scoreinfo as select sno,sname,
yw,wy,sx from tb_student,tb_score where tb_student.id=tb_score.sid
多张表(表tb_studenttb_score)建立视图,条件为id值相等。
 
LEFT JOIN 关键字会从左表那里返回所有的行,即使在右表中没有匹配的行。
用法如下:
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2 
ON table_name1.column_name=table_name2.column_name
 
举个例子 A表 
ID  |   VAL
1001 |  100
1002 |  200
1003 |  300
B表
ID | val
1002 | 500
1004 | 600
那么
select a.id,b.id,a.val,b.val
from a left join b
on a.id=b.id
出来便是
1001 |  null | 100 |  null
1002 |  1002  |  200 | 500
1003 |  null    |300 | null
 
举个LEFT JOIN 常用的情景:
算出该营业部所有客户的交易量、资金、市值,假设客户信息表(下称A表)里是所有的客户,100W人;交易量表(下称B表)里有当天成交的客户,10W人;资金表(下称C表)里有当天发生资金的客户,20W人;市值表(下称D表)里有当天市值信息,50W人。

那么写SQL的话就要以A表为主表,分别左关联B C D 表。
select a.*,b.jyl,c.zjye,d.zxsz
from a left join b  on  a.khh=b.khh and b的条件
left join c on a.khh=c.khh and c的条件
left join d on a.khh=d.khh and d的条件
where a的条件。
如果A的条件写在ON里也行,但你就要写3遍了,还不如在外面写一遍即可。
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值