mysql查詢

             MYSQL連接查詢,雖然覺得已經是很普遍的用法,但還是記錄下來,以供他人查詢及方便自己複製粘貼:)

TABLE1
 字段值 屬性 長度
 id varchar 10
 birthday char 8

wangwu19890101
 zhangsan 19870501
 lisi 19910101

TABLE2
 字段值  屬性  長度
 auther varchar 10
 book_name varcahr 20
 end int 5
 zhangsan actou 100
 zhangsan pitcut 5
 zhangsan tushi 89
 wangwu php 1000
 wangwu mysql 1000
 zhangsan java 177

select  * from table1 left join table2 on table1.id=table2.auther where 1<2

 id birthday autherbook_name end 
 wangwu 19890101 wangwu php 1000
 wangwu 19890101 wangwu mysql 1000
 zhangsan 19870501 zhangsan actou 100
 zhangsan 19870501 zhangsan pitcut 5
 zhangsan 19870501 zhangsan tushi 89
 zhangsan 19870501 zhangsan java177 
 lisi 19910101 nullnull null 

*left join 就是從左邊的表記錄中對應在右邊中查詢,也稱呼爲左外連接。其結果就是左表的值U(左表的值∩右表的值)

select * from table1,table2 where  table1.id=table2.auther

 id birthday autherbook_name end 
 wangwu 19890101 wangwu php 1000
 wangwu 19890101 wangwu mysql 1000
 zhangsan 19870501 zhangsan actou 100
 zhangsan 19870501 zhangsan pitcut 5
 zhangsan 19870501 zhangsan tushi 89
 zhangsan 19870501 zhangsan java177 

*上面這種連接也稱爲內連接,其結果爲兩個表的交集。

select * from table1 natual left join  table2

*稱爲自然連接。一般較少使用。(自然連接爲聯合兩個表中具有相同列名、相同類型和相同值的行)

但我測試發現結果是table1*table2.

查詢設置條件

where if(length(month)=1,concat(year,"0",month),concat(year,month))>='200508' and if(length(month)=1,concat(year,"0",month),concat(year,month))<='200603'

通過length判斷字段長度來決定字段處理的原則

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