SELECT語句
SQL語句是由簡單的英語單詞構成的。這些單詞稱爲關鍵字,每個SQL語句都是由一個或多個關鍵字構成的:大概,最經常使用的SQL語句就是SELECT語句了 。它的用途是從一個或多個表中檢索信息 。
爲了使用SELECT檢索表數據,必須至少給出兩條信息一一想選擇什麼 ,以及從什麼地方選擇。
SELECT作爲檢索語句可以 檢索單個列,也可以多個列,也可以所有列。
注意點:
對於大小寫:SQL語句是不區分大小寫的,因此SELECT和select是沒有區別的,Select也是無所謂的,不過爲了已於閱讀和調試,經常把關鍵字大寫,對於所有列和表名實用小寫。
對於使用空格:在處理SQL語句時,所有空格都會被忽略,SQL語句可以一行給出,也可以分成多行。大多數都是分成多行來易於閱讀和調試。
對於逗號:在選擇多個列時,一定要在列名後面加上逗號,倒是最後一個則不需要,否則會會出錯。
對於使用通配符’‘:一般除非確實需要表中的每列,否則最好不使用通配符,雖然敲起來好像很省事,但是檢索不需要的列通常會降低檢索和應用程序的性能。但也是有優點的,比如能檢索出未知列。
檢索不同的行
解決辦法:使用DISTINCT。
DISTINCT關鍵字必須放在列的前面。但是很不能部分使用DISTINCT,DISTINCT關鍵字應用於所有列而不僅僅是前置它的列。如果給出SELECT DISTINCT name1,name2, 除非指定的兩個列都不同,否則所有行都將被檢索出來。
限定結果
SELECT語句返回所有匹配行,它們可能是指表中每一行。爲了返回第一行或者前幾行,可使用LIMIT字句。
SELECT name1
FROM table_name1;
LIMIT 5;
此語句使用SELECT語句檢索單個列,LIMIT 5指示MYSQL返回不多於5行。
SELECT name1
FROM table_name1;
LIMIT 5,5;
LIMIT 5,5指示MYSQL返回從行5開始的5行。第一個數爲開始位置,第二個數爲檢索的行數。
注意:
所以,帶一個值的LIMIT總是從第一行開始,給出的數爲返回的行數。帶兩個值的LIMIT可以指定從行號爲第一個值的位置開始。
行0:檢索出來的第一行爲行0而不是行1,因此,LIMIT 1,1將檢索出第二行而不是第一行。
MYSQL 5的LIMIT語法:MYSQL 5支持LIMIT的另一種替代語法。 LIMIT 4 OFFSET 3意爲從行3開始取4行,就像 LIMIT 3,4 一樣。
使用完全限制的表名
SQL語句可以直接通過列名引用列。也可能使用完全限定的名字來引用列(同時使用表名和列字)。比如:
SELECT table1.name1
FROM table1;
當然,表名也可以完全限定:
SELECT table1.name1
FROM database_name.table_name1;
這個功能也等於把上面例子的功能。