10、mysql数据表中数据的查询(2)
生活随笔
收集整理的這篇文章主要介紹了
10、mysql数据表中数据的查询(2)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
介紹一下mysql中查詢的重中之重,連接查詢
創建student和teacher表,表中數據如下:
| student | |
| teacher |
交叉連接查詢
查詢結果是連接的幾個表中滿足條件的相關聯的數據的交集
| sql | SELECT s.id sid, s.name sname , t.id tid ,t.name tname FROM student s ,(或者將逗號去掉使用CROSS JOIN) teacher t ?WHERE? s.name = t.name ? |
| 結果 |
?
內連接查詢
將連接的幾個表中滿足條件的數據的交集查詢出來,同上
| sql | SELECT s.id sid, s.name sname , t.id tid ,t.name tname FROM student s INNER JOIN teacher t ON? s.name = t.name ? |
| 結果 |
?
左外連接查詢
將連接的左表中滿足條件(where后邊的數據)的全部數據和右表中滿足連接條件(on后邊的條件)的數據查詢出來,如果在右表中沒有滿足連接條件的數據則以NULL值代替,右連接同理
| sql | SELECT s.id sid, s.name sname , t.id tid ,t.name tname FROM student s LEFT JOIN teacher t ON? s.name = t.name ? |
| 結果 |
?
右外連接查詢
| sql | SELECT s.id sid, s.name sname , t.id tid ,t.name tname FROM student s RIGHT JOIN teacher t ON? s.name = t.name ? |
| 結果 |
?
分析
由于未進行任何優化處理,使用explain來分析以上sql時,結果如下:
使用連接查詢時,一定要注意連接條件一定要添加,不然容易造成大量冗余數據出現
總結
以上是生活随笔為你收集整理的10、mysql数据表中数据的查询(2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 40、使用javassit操作运行时字节
- 下一篇: 24、mysql连接线程的show和ki