sql基础之表关联
来源:互联网 发布:图像领域的经典算法 编辑:程序博客网 时间:2024/06/06 05:58
左连接:left join
下面有三张表A,B
A表
B表
select * from A a1 LEFT JOIN B b1 on a1.a_id=b1.a_id
总结:
左连接就是先把left join 左边的表(A)的所有记录先显示出来,然后再根据on后面的条件匹配另一张表(B),但是如果说匹配到多条数据,然后就会把表A的数据复制一遍和后面表的数据一起显示出来。其次如果A表的数据多,b表没有就用null来补齐。当然也可以在左连接之后再左连接。
如:select * from b a1 LEFT JOIN A b1 on a1.a_id=b1.a_id LEFT JOIN A a2 on a1.create_by=a2.a_id
如果说第二次连接后面条件不满足条件就显示空右连接
select * from A a1 RIGHT JOIN B b1 on a1.a_id=b1.create_by
总结:而右连接则是刚好相反。先显示右面在来匹配左面。没有则显示空多个右连接的执行顺序
select * from A a1 RIGHT JOIN B b1 on a1.a_id=b1.create_by RIGHT JOIN B b2 on b2.b_id=b1.a_id
select * from A a1 RIGHT JOIN B b1 on a1.a_id=b1.create_by RIGHT JOIN B b2 on b2.b_id=b1.a_id
RIGHT JOIN A a2 on a2.a_id=a1.
总结:多表的执行顺序是,A和B先组成成一个表,再与另外的B2表进行新的右关联查询,多个以此类推
- 内关联
select * from A a1 INNER JOIN B b1 on a1.a_id=b1.a_id
总结: inner join并不以谁为基础,它只显示符合条件的记录.
使用场景:
LEFT JOIN操作用于在任何的 FROM 子句中,来组合第一张表的数据。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。
语法:FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2
说明:table1, table2参数用于指定要将记录组合的表的名称。
field1, field2参数指定被联接的字段的名称。且这些字段必须有相同的数据类型及包含相同类型的数据,但它们不需要有相同的名称。
compopr参数指定关系比较运算符:”=”, “<”, “>”, “<=”, “>=” 或 “<>”。
- sql基础之表关联
- SQL server基础之(表间关联)
- [sql server][基础] 多表关联创建
- SQL多表关联
- sql语句表关联
- linq To SQl之关联表同步添加数据
- SQL基础 之 表连接
- ORACLE Unit03 SQL(基础查询) 、 SQL(关联查询)
- SQL(基础查询)、SQL(关联查询)
- sql 多表关联查询
- SQL关联表更新注意事项
- sql 多表关联查询
- sql获取表间关联
- sql语句创建关联表
- 两表关联修改SQL
- sql update多表关联
- sql update多表关联
- SQL三个表关联查询
- 数据结构-排序算法总结
- 牛客网-贪心-裁减网格纸
- LeetCode#345. Reverse Vowels of a String
- ActiveMQ实战(四)--ActiveMQ的通信方式之request-response(请求响应模式)
- 关于注解
- sql基础之表关联
- 学习Java越深入,感觉要学的越多,学到熟练的水平就很难了,学到精通得何时?
- idea maven jetty插件热部署
- 杂记(关于《js dom 编程艺术》)
- hdu 5289 ST表+尺取法
- poj 1426
- 为什么销售技巧很重要
- 学校培训半月心得体会
- 实训--day12