SQL联合查询(内联、左联、右联、全联)的语法以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
概述
联合查询效率较高 举例子来说明联合查询 内联inner join 左联left outer join 右联right outer join 全联full outer join 的好处及用法
联合查询效率较高 以下例子来说明联合查询(内联 左联 右联 全联)的好处
T 表结构 (用户名 密码)
userid (int)
username varchar( )
password varchar( )
jack
jackpwd
owen
owenpwd
T 表结构 (用户名 密码)
userid (int)
jifen varchar( )
dengji varchar( )
第一 内联(inner join)
如果想把用户信息 积分 等级都列出来 那么一般会这样写 select * from T T where T userid = T userid(其实这样的结果等同于select * from T inner join T on T userid=T userid )
把两个表中都存在userid的行拼成一行(即内联) 但后者的效率会比前者高很多 建议用后者(内联)的写法
SQL语句 select * from T inner join T on T userid=T userid
运行结果
T userid
username
password
T userid
jifen
dengji
jack
jackpwd
第二 左联(left outer join)
显示左表T 中的所有行 并把右表T 中符合条件加到左表T 中;右表T 中不符合条件 就不用加入结果表中 并且NULL表示
SQL语句 select * from T left outer join T on T userid=T userid
运行结果
T userid
username
password
T userid
jifen
dengji
jack
jackpwd
owen
owenpwd
NULL
NULL
NULL
第三 右联(right outer join)
显示右表T 中的所有行 并把左表T 中符合条件加到右表T 中;左表T 中不符合条件 就不用加入结果表中 并且NULL表示
SQL语句 select * from T right outer join T on T userid=T userid
运行结果
T userid
username
password
T userid
jifen
dengji
jack
jackpwd
NULL
NULL
NULL
第四 全联(full outer join)
显示左表T 右表T 两边中的所有行 即把左联结果表+右联结果表组合在一起 然后过滤掉重复的
SQL语句 select * from T full outer join T on T userid=T userid
运行结果
T userid
username
password
T userid
jifen
dengji
jack
jackpwd
owen
owenpwd
NULL
NULL
NULL
NULL
NULL
NULL
lishixinzhi/Article/program/MySQL/201311/29552
分页:123