sql级联查询 join

昨晚参加了一个公司的笔试,里面有一题考察了sql语句的书写,内容如下

假设有两个表tableA(id,name,……)tableB(id,……),tableA与tableB中的id一致,此时的查询语句可表示为:

select * from tableA join tableB on tableA.id=talbeB.id

问题延伸,若两个表中一致的字段名称不一致,怎么办,问题假设如下

假设有两个表tableA(id,name,……)tableB(sid,adress,tel,……),tableA id与tableB sid保持一致,此时查询条件可书写为:

select * from talbeA as id join tableB as id on tableA.id=tableB.sid

此时使用到join,join在sql中的用法是关联多个表查询;

left join,是以左表为基础,显示左表中的所有列,不管是否与关联条件相匹配,而右表中的数据只显示与关联条件相匹配的列,不匹配的列以NULL字符填充;

right join,是以右表为基础,显示右表中的所有列,不管是否与关联条件相匹配,而左表中的数据只显示与关联条件相匹配的列,不匹配的列以NULL字符填充;

原文地址:https://www.cnblogs.com/GranceWang2014/p/4897045.html