\""Chicago\"",NULL,NULL);
在最后一项中,我们不知道Jones师长教师的工薪级别和年薪,所以我们输入NULL(不要引号)。NULL是SQL中的一种特别景象,我们今后将进行具体的评论辩论。如今我们只需认为NULL默示一种未知的值。
有时,像我们刚才所评论辩论的景象,我们可能欲望对某一些而不是全部的列进行赋值。除了对要省略的列输入NULL外,还可以采取别的一种INSERT语句,如下:
INSERT INTO EMPLOYEES(
FIRST_NAME, LAST_NAME,
HIRE_DATE, BRANCH_OFFICE)
value(
\""Indiana\"",\""Jones\"",
\""1992-02-01\"",\""Indianapolis\"");
如许,我们先在表名之后列出一系列列名。未列出的列中将主动填入缺省值,若是没有设置缺省值则填入NULL。请重视我们改变了列的次序,而值的次序要对应新的列的次序。若是该语句中省略了FIRST_NAME和LAST_NAME项(这两项规定不克不及为空),SQL操纵将失败。
让我们来看一看上述INSERT语句的语法图:
INSERT INTO table
[(column { ,column})]
valueS
(columnvalue [{,columnvalue}]);
和前一篇文章中一样,我们用方括号来默示可选项,大括号默示可以反复随便率性次数的项(不克不及在实际的SQL语句中应用这些特别字符)。value子句和可选的列名列表中必须应用圆括号。
SELECT语句
SELECT语句可以从一个或多个表中拔取特定的行和列。因为查询和检索数据是数据库经管中最首要的功能,所以SELECT语句在SQL中是工作量最大的项目组。实际上,仅仅是接见数据库来解析数据并生成报表的人可以对其他SQL语句一窍不通。
SELECT语句的成果凡是是生成别的一个表。在履行过程中体系按照用户的标准从数据库中选出匹配的行和列,并将成果放惠姑且的表中。在直接SQL(direct SQL)中,它将成果显示在终端的显示屏上,或者将成果送到打印机或文件中。也可以连络其他SQL语句来将成果放到一个已有名称的表中。
SELECT语句功能强大。固然概况上看来它只用来完本钱文第一项目组中提到的关系代数运算“选择”(或称“限制”),但实际上它也可以完成其他两种关系运算-“投影”和“连接”,SELECT语句还可以完成聚合策画并对数据进行排序。
SELECT语句最简单的语法如下:
SELECT columns FROM tables;
当我们以这种情势履行一条SELECT语句时,体系返回由所选择的列以及用户选择的表中所有指定的行构成的一个成果表。这就是实现关系投影运算的一个情势。
让我们看一下应用图1中EMPLOYEES表的一些例子(这个表是我们今后所有SELECT语句实例都要应用的。而我们在图2和图3中给出了查询的实际成果。我们将在其他的例子中应用这些成果)。
假设你想查看雇员工作项目组的列表。那下面就是你所须要编写的SQL查询:
SELECT BRANCH_OFFICE FROM EMPLOYEES;
以上SELECT语句的履行将产生如图2中表2所示的成果。
因为我们在SELECT语句中只指定了一个列,所以我们的成果表中也只有一个列。重视成果表中具有反复的行,这是因为有多个雇员在同一项目组工作(记住SQL从所选的所有行中将值返回)。要打消成果中的反复行,只要在SELECT语句中加上DISTINCT子句:
SELECT DISTINCT BRANCH_OFFICE
FROM EMPLOYEES;
此次查询的成果如表3所示。
如今已经打消了反复的行,但成果并不是遵守次序分列的。若是你欲望以字母表次序将成果列出又该怎么做呢?只要应用ORDER BY子句就可以