mysql使用(2)

之前简单的对mysql使用做了简单的总结:对单个表的增删改查;

接下来对mysql深层次的使用做个总结:


当需要用到单个数据库中多个数据表时,便需要熟悉多表操作语句

可以分为以下几种操作:

1  cross join(交叉连接):获取多个表中的交叉关系。
2  inner join(内连接):获取2个表中字段匹配关系的记录。
3  外连接 :
    left join(左连接):获取左表所有记录,即使右表没有对应的匹配记录。
    right join(右连接):用于获取右表所有记录,即使左表没有对应匹配的记录。


首先我们先建立二张表:A和B;他们的列都是包含ID,NAME,AGE;




1:  交叉连接

语法: select * from CUSTOMER c,ORDERS o;

代码:  select * form  A,B where A.AGE=B.AGE;

             select * from  A,B where A.AGE=B.AGE and A.AGE=22;

解释:   找到A,B二章表中A表成员年纪等于B表成员年纪的组合,并显示这些组合,列以A先,B后;

             找到A,B二章表中A表成员年纪等于B表成员年纪并且A表成员的的年纪等于22组合,并显示这些组合,列以A先,B后;

              如 ID|NAME|AGE|ID|NAME|AGE

                 X|  XXX  |  XX | X| XXX  | XX


2:内连接

语法:隐式内连接:select * from CUSTOMER c,ORDERS o where c.id = o.customer_id;

          显式内连接:select * from CUSTOMER c inner join ORDERS o on c.id = o.customer_id;

代码:select * from A inner join B on A.ID=B.ID;

解释:   找到A,B二章表中A表成员ID等于B表成员ID的组合,并显示这些组合,列以A先,B后;


3:外连接

语法:左连接  select * from  CUSTOMER c left join ORDERS o on c.id = o.customer_id;

           右连接  select * from CUSTOMER c right join ORDERS o  on c.id = o.customer_id; ;

                  

代码:select *from A left join B  on A.AGE=B.AGE;

解释:   找到A,B二章表中A表成员ID等于B表成员ID的组合,并显示这些组合,列以A先,B后;

   



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值