多表联合查询,左链接;右链接;内连接 问题

举例:
表名 os_user(用户表),os_city(城市表) 关联字段 用户user_id
os_user:user_id,user_name,user_sex (用户个人信息)
os_city:city_id,c_user_id,city_name,city_address (城市住址)

(1)左连接:(原生写法)

SELECT User.user_id,User.user_name,City.city_id,City.city_name
FROM os_user as User
LEFT JOIN os_city as City ON User.user_id = City.c_user_id
排序字段记得加别名前缀 (order_by User.user_id desc )
(后边可以跟着 GROUP_BY,ORDER BY,LIMIT)

(2) 右链接

写法相似 数据不同

(3)内连接

SELECT * FROM os_user as User, os_city as City where User.user_id=City.c_user_id
这两种写法一样
SELECT User.user_id,User.user_name,City.city_id,City.city_name FROM os_user as User INNER JOIN os_city as City On User.user_id = City.c_user_id

总结:

左连接:左边有的,右边没有的为null
右连接:左边没有的,右边有的为null
内连接:显示左边右边共有的

参考文章

猜你喜欢

转载自blog.csdn.net/qq_37899005/article/details/81904560
今日推荐