三、连接查询
三、連接查詢
左連接
?????????總結:?以左表為準,去右邊表找匹配數據,找不到的用null補齊,加入A表有M行數據,B表有N行數據,結構是>=M行數據
??????????讓boy表中的數據挑選girl中數據:
??????????select?boy.*,girl.*?from?boy?left?join?girl?on?boy.flower?=?girl.flower
??????????讓girl表中的數據挑選boy中數據:
??????????select?boy.*,girl.*?from?girl?left?join?boy?on?boy.flower?=?girl.flower?????+
??????????清除表內容Truncate?tablename?????
右連接
??????????select?boy.*,girl.*?from?girl?right?join?boy?on?boy.flower?=?girl.flower??????
??????????左右連接可以相互轉化??A?lect?join?B?on?條件?==??B?right?join?A?on?條件
內連接?
???????查詢左右表都有的數據,不要左連接、右連接有null的那部分
???????內連接是左右連接的交集
???????select?boy.*,girl.*?from?boy??inner?join???girl?on?boy.flower?=?girl.flower
目前的mysql不支持外連接(out?jion),可以使用union達到目的
視圖view?視圖是一張虛擬的表,沒有真實的數據存在,只是與表的一種查詢產生的關系,語句合并分析的過程
字符集與校對集
?????客戶端使用的字符集:set?character_set_client?=?gbk/utf8;
?????轉換器轉換后的字符集: set?character_set_counection?=?gbk/utf8;
?????返回給客戶端的字符集:set?character_set_result?=?gbk/utf8;
如果以上三者都是同一種字符集可以使用:set?names?utf8/gbk;
總結
- 上一篇: union(联合)合并查询结果
- 下一篇: 三、触发器