幾種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以前的版本對子查詢效率極差。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章