運用SELECT查詢(對數據表的選擇)
首先了解一下SELECT語句的語法格式:
Select selection_list //要查詢的內容,選擇哪些列
From table_list // 從什麼表中查詢,從何處選擇行
Where primary_constraint //查詢時需要滿足的條件,行必須滿足的條件
Group by grouping_columns //如何對結果進行分組
Order by sorting_cloumns //如何對結果進行排序
Having secondary_constraint //查詢時滿足的第二條件
Limit count //限定輸出的查詢結果
其中使用的子句將在後面逐個介紹。下面先介紹一下SELECT語句的簡單應用。
(1)使用SELECT語句查詢一個數據表。
使用SELECT語句時,首先要確定所要查詢的列。“*”代表所有的列。如查詢tpsc數據庫中user表中的所有數據,代碼如下:
MySQL> use tpsc
Database changed
MySQL> select * from user ;
+----+------+----------+--------------+
| id | user | lxdh | jtdz |
+----+------+----------+--------------+
| 1 | aaa | 12345678 | 隨風倒十分上 |
| 2 | sss | 87654321 | 計劃看見合 |
+----+------+----------+--------------+
2 rows in set (0.00 sec)
這是查詢整個表中所有列的操作,還可以針對表中的某一列或多列進行查詢。
(2)查詢表中的一列或多列。
針對表中的多列進行查詢,只要在select後面指定要查詢的列名即可,多列之間用“,”分隔,如查詢user表中的id和lxdh,代碼如下:
MySQL> select id , lxdh from user ;
+----+----------+
| id | lxdh |
+----+----------+
| 1 | 12345678 |
| 2 | 87654321 |
+----+----------+
2 rows in set (0.00 sec)
(3)從一個或多個表中獲取數據。
使用SELECT語句進行查詢,需要確定所要查詢的數據在哪個表中,或者在哪些表中,在對多個表進行查詢時,同樣使用“,”將各個表分隔開。
如從一個表中獲取數據,代碼如下:
MySQL> select * from user where id<3 ;
+----+------+----------+--------------+
| id | user | lxdh | jtdz |
+----+------+----------+--------------+
| 1 | aaa | 12345678 | 隨風倒十分上 |
| 2 | sss | 87654321 | 計劃看見合 |
+----+------+----------+--------------+
2 rows in set (0.02 sec)
從多個表中獲取數據,需要把涉及到的表都列在FROM的後面,用逗號分隔,並且要通過WHERE子句使用連接運算來確定表之間的聯系。如查詢電話是“12345678”的用戶的家庭收入情況,代碼如下:
MySQL> select jtsr from user,jtsr
-> where user.user=jtsr.user and user.lxdh=’12345678’ ;
+------+
| jtsr |
+------+
| 1000 |
+------+
2 rows in set (0.00 sec)
其中,user.user = jtsr.user將表user和jtsr連接起來,叫做等同連接;如果不使用user.user= jtsr.user,那麼產生的結果將是兩個表的笛卡爾積,叫做全連接。