SQL语句最大的功能在于它可以提取数据。你可以以数据输入到数据库中的相同方式来提取数据,或者可以查询数据库,并获得问题的答案。下面就简单地介绍下数据库的信息提取。
SELECT语句,基本语法:
SELECT column1,column2,...columnx FROM table_name
如:SELECT MemberId ,FirstName FROM MemberDetails;
如果需要所有列时就会有很多字段需要返回值,则只需输入星号不用输入所有的字段名称就可以选择所有的列。
SELECT *FROM name_of_table
如果想知道一个记录中所有的唯一值,在SELECT后面使用DISTINCT关键字即可。如问A表中的成员都来自哪些城市
SELECT DISTINCT City FORM A,即可得到成员居住表的一个唯一列表。
使用列名,利用关键字AS指定想要的列名。
例如在返回名字时不想使用Lastname,而是Surname,SQL语句如下
SELECTLastname AS Surname FROM MemberDetails;
利用WHERE子句过滤结果,WHERE子句允许设置一个或多个条件,每个记录在能够组成结果的一部分之前,必须满足这些条件。想要从MemberDetails表中询问居住在Big City的成员的列表,需要指定City列必须等于Big City。这样SQL语句如下:
SELECTFirstName +' ' +LastName AS [Full Name]
FROMMemberDetails
WHERECity ='Big City';
为了方便使用,数据库中同样还有逻辑运算符,下面是一些运算符的优先级
如:SELECT State,DateOfJoining
FROM MemberDetails
WHERE State='New State' OR State='Golden State'
AND DateOfJoining >'2005-07-08';
解释为符合State='New State'或符合State='GoldenState'和DateOfJoining>'2005-07-08'的选项
SELECT State,DateOfJoining
FROM MemberDetails
WHERE(State='NewState' OR State='Golden State')
AND DateOfJoining >'2005-07-08';
解释为符合条件State='New State'或State='Golden State'并且符合条件DateOfJoining>'2005-07-08'的选项。
NOT运算符,在条件为假时选择一个记录。如在MemberDetails中选择State字段不等于Golden State的所有记录。
SELECTFirstname
FormMemberDetails
WHERE NOTState='Golden State';
(WHEREStare<>'Golden State';)
BETWEEN运算符,指定一个范围在一个值和另一个值之间。如在电影表中选择级别位于3~5之间的电影
SELECTFilitiName,Rating
FROMFilms
WHERERating BETWEEN 3 AND 5
LIKE运算符,当搜索一个字符段时,LIKE运算符允许使用通配符。
匹配所有以J开头的名字的SQL语句如下所示:
SELECTLastname FORM MemberDetails
WHERELastname LIKE 'J%';
若使用的是MS Access数据库,则
SELECTLastname FORM MemberDetails
WHERELastname LIKE 'J*';
在搜索数据库时,可以使用任意数目的通配符,如果需要的话可以混合百分号和下划线。
SELECTLastname FORM MemberDetails
WHERELastname LIKE 'D_s';
IN运算符,可以减少大量输入。
SELECTCity
FROMMemberDetails
WHERE
City IN('Townsville','Windy Village','Big City');