码迷,mamicode.com
首页 > 数据库 > 详细

几种SQL语句的写法

时间:2015-07-10 17:05:04      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:mysql sql

1.一张表中有用户信息表user(user_id,nickname),另外一张表联系人表contact(user_id,friend_id).现在要找出联系人的信息

SELECT U1.nickname as myselft,U2.nickname as friend FROM contact C inner join user U1 on C.user_id=U1.user_id inner join user U2 on C.friend_id=U2.id


以上如果friend_id可能为空的话,则后面那个inner join 改为left join.


2.查找出好友及自己发的帖子,帖子表invitation(id,owner_id,title,content)

SELECT * FROM ( invitation I inner join user U on U.user_id=I.owner_id )
inner join
(select friend_id from contacts where user_id=2 union all select 2) as B
 on B.friend_id=I.user_id

在mysql中就不要使用子查询了,mysql 5.5以前的版本对子查询效率极差。

本文出自 “枫林晚” 博客,请务必保留此出处http://fengwan.blog.51cto.com/508652/1672746

几种SQL语句的写法

标签:mysql sql

原文地址:http://fengwan.blog.51cto.com/508652/1672746

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!