欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    [计算机软件及应用]SQL语句超详细教程.doc

    • 资源ID:4561672       资源大小:248KB        全文页数:42页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [计算机软件及应用]SQL语句超详细教程.doc

    我们可以在一个 SQL 语句中放入另一个 SQL 语句。当我们在 WHERE 子句或 WHERE 子句或 HAVING 子句中插入另一个 SQL 语句时,我们就有一个 subquery 的架构。 Subquery 的作用是什么呢?第一,它可以被用来连接表格。另外,有的时候 subquery 是唯一能够连接两个表格的方式。 Subquery 的语法如下: SELECT "栏位1" FROM "表格" WHERE "栏位2" 比较运算素 (SELECT "栏位1" FROM "表格"WHERE 条件) 比较运算素 可以是相等的运算素,例如 =, >, <, >=, <=. 这也可以是一个对文字的运算素,例如 "LIKE." 我们就用刚刚在阐述 SQL 连接时用过的例子: Store_Information 表格store_name Sales Date Los Angeles $1500 Jan-05-1999 San Diego $250 Jan-07-1999 Los Angeles $300 Jan-08-1999 Boston $700 Jan-08-1999 Geography 表格 region_name store_name East Boston East New York West Los Angeles West San Diego 我们要运用 subquery 来找出所有在西部的店的营业额。我们可以用下面的 SQL 来达到我们的目的: SELECT SUM(Sales) FROM Store_InformationWHERE Store_name IN(SELECT store_name FROM Geography WHERE region_name = 'West') 结果: SUM(Sales)2050在这个例子中,我们并没有直接将两个表格连接起来,然后由此直接算出每一间西区店面的营业额。我们做的是先找出哪些店是在西区的,然后再算出这些店的营业额总共是多少。 UNION 指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看, UNION 跟 JOIN 有些许类似,因为这两个指令都可以由多个表格中撷取资料。 UNION 的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT)。 UNION 的语法如下: SQL 语句 1UNIONSQL 语句 2 假设我们有以下的两个表格, Store_Information 表格store_name Sales Date Los Angeles $1500 Jan-05-1999 San Diego $250 Jan-07-1999 Los Angeles $300 Jan-08-1999 Boston $700 Jan-08-1999 Internet Sales 表格 Date Sales Jan-07-1999 $250 Jan-10-1999 $535 Jan-11-1999 $320 Jan-12-1999 $750 而我们要找出来所有有营业额 (sales) 的日子。要达到这个目的,我们用以下的 SQL 语句: SELECT Date FROM Store_InformationUNIONSELECT Date FROM Internet_Sales 结果: DateJan-05-1999Jan-07-1999Jan-08-1999Jan-10-1999Jan-11-1999Jan-12-1999有一点值得注意的是,如果我们在任何一个 SQL 语句 (或是两句都一起) 用 "SELECT DISTINCT Date" 的话,那我们会得到完全一样的结果。 UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起。 UNION ALL 和 UNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复。 UNION ALL 的语法如下: SQL 语句 1UNION ALLSQL 语句 2 我们用和上一页同样的例子来显示出 UNION ALL 和 UNION 的不同。同样假设我们有以下两个表格, Store_Information 表格store_name Sales Date Los Angeles $1500 Jan-05-1999 San Diego $250 Jan-07-1999 Los Angeles $300 Jan-08-1999 Boston $700 Jan-08-1999 Internet Sales 表格 Date Sales Jan-07-1999 $250 Jan-10-1999 $535 Jan-11-1999 $320 Jan-12-1999 $750 而我们要找出有店面营业额以及网络营业额的日子。要达到这个目的,我们用以下的 SQL 语句: SELECT Date FROM Store_InformationUNION ALLSELECT Date FROM Internet_Sales 结果: DateJan-05-1999Jan-07-1999Jan-08-1999Jan-08-1999Jan-07-1999Jan-10-1999Jan-11-1999Jan-12-1999和 UNION 指令类似, INTERSECT 也是对两个 SQL 语句所产生的结果做处理的。不同的地方是, UNION 基本上是一个 OR (如果这个值存在于第一句或是第二句,它就会被选出),而 INTERSECT 则比较像 AND ( 这个值要存在于第一句和第二句才会被选出)。 UNION 是联集,而 INTERSECT 是交集。 INTERSECT 的语法如下: SQL语句 1INTERSECTSQL语句 2 假设我们有以下的两个表格, Store_Information 表格store_name Sales Date Los Angeles $1500 Jan-05-1999 San Diego $250 Jan-07-1999 Los Angeles $300 Jan-08-1999 Boston $700 Jan-08-1999 Internet Sales 表格 Date Sales Jan-07-1999 $250 Jan-10-1999 $535 Jan-11-1999 $320 Jan-12-1999 $750 而我们要找出哪几天有店面交易和网络交易。要达到这个目的,我们用以下的 SQL 语句: SELECT Date FROM Store_InformationINTERSECTSELECT Date FROM Internet_Sales 结果: DateJan-07-1999请注意,在 INTERSECT 指令下,不同的值只会被列出一次。 MINUS 指令是运用在两个 SQL 语句上。它先找出第一个 SQL 语句所产生的结果,然后看这些结果有没有在第二个 SQL 语句的结果中。如果有的话,那这一笔资料就被去除,而不会在最后的结果中出现。如果第二个 SQL 语句所产生的结果并没有存在于第一个 SQL 语句所产生的结果内,那这笔资料就被抛弃。 MINUS 的语法如下: SQL 语句 1MINUSSQL 语句 2 我们继续使用一样的例子: Store_Information 表格store_name Sales Date Los Angeles $1500 Jan-05-1999 San Diego $250 Jan-07-1999 Los Angeles $300 Jan-08-1999 Boston $700 Jan-08-1999 Internet Sales 表格 Date Sales Jan-07-1999 $250 Jan-10-1999 $535 Jan-11-1999 $320 Jan-12-1999 $750 而我们要知道有哪几天是有店面营业额而没有网络营业额的。要达到这个目的,我们用以下的 SQL 语句: SELECT Date FROM Store_InformationMINUSSELECT Date FROM Internet_Sales 结果: DateJan-05-1999Jan-08-1999"Jan-05-1999", "Jan-07-1999", and "Jan-08-1999" 是 "SELECT Date FROM Store_Information" 所产生的结果。在这里面,"Jan-07-1999" 是存在于 "SELECT Date FROM Internet_Sales" 所产生的结果中。因此 "Jan-07-1999" 并不在最后的结果中。 请注意,在 MINUS 指令下,不同的值只会被列出一次。 有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的: · MySQL: CONCAT() · Oracle: CONCAT(), | · SQL Server: + CONCAT() 的语法如下: CONCAT(字串1, 字串2, 字串3, .): 将字串1、字串2、字串3,等字串连在一起。请注意,Oracle的CONCAT()只允许两个参数;换言之,一次只能将两个字串串连起来。不过,在Oracle中,我们可以用'|'来一次串连多个字串。 来看几个例子。假设我们有以下的表格: Geography 表格 region_namestore_nameEastBostonEastNew YorkWestLos AngelesWestSan Diego例子1: MySQL/Oracle: SELECT CONCAT(region_name,store_name) FROM Geography WHERE store_name = 'Boston' 结果: 'EastBoston' 例子2: Oracle: SELECT region_name | ' ' | store_name FROM Geography WHERE store_name = 'Boston' 结果: 'East Boston' 例子3: SQL Server: SELECT region_name + ' ' + store_name FROM Geography WHERE store_name = 'Boston' 结果: 'East Boston' SQL Substring 函数 >> SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样: · MySQL: SUBSTR(), SUBSTRING() · Oracle: SUBSTR() · SQL Server: SUBSTRING() 最常用到的方式如下 (在这里我们用SUBSTR()为例): SUBSTR(str,pos): 由<str>中,选出所有从第<pos>位置开始的字元。请注意,这个语法不适用于SQL Server上。 SUBSTR(str,pos,len): 由<str>中的第<pos>位置开始,选出接下去的<len>个字元。 假设我们有以下的表格: Geography 表格 region_namestore_nameEastBostonEastNew YorkWestLos AngelesWestSan Diego例1: SELECT SUBSTR(store_name, 3) FROM Geography WHERE store_name = 'Los Angeles' 结果: 's Angeles' 例2: SELECT SUBSTR(store_name,2,4) FROM Geography WHERE store_name = 'San Diego' 结果: 'an D' SQL 中的 TRIM 函数是用来移除掉一个字串中的字头或字尾。最常见的用途是移除字首或字尾的空白。这个函数在不同的资料库中有不同的名称: · MySQL: TRIM(), RTRIM(), LTRIM() · Oracle: RTRIM(), LTRIM() · SQL Server: RTRIM(), LTRIM() 各种 trim 函数的语法如下: TRIM(位置 要移除的字串 FROM 字串): 位置 的可能值为 LEADING (起头), TRAILING (结尾), or BOTH (起头及结尾)。 这个函数将把 要移除的字串 从字串的起头、结尾,或是起头及结尾移除。如果我们没有列出 要移除的字串 是什么的话,那空白就会被移除。 LTRIM(字串): 将所有字串起头的空白移除。 RTRIM(字串): 将所有字串结尾的空白移除。 例1: SELECT TRIM('   Sample   '); 结果: 'Sample' 例2: SELECT LTRIM('   Sample   '); 结果: 'Sample   ' 例3: SELECT RTRIM('   Sample   '); 结果: '   Sample' 表格是数据库中储存资料的基本架构。在绝大部份的情况下,数据库厂商不可能知道您需要如何储存您的资料,所以通常您会需要自己在数据库中建立表格。虽然许多数据库工具可以让您在不需用到 SQL 的情况下建立表格,不过由于表格是一个最基本的架构,我们决定包括 CREATE TABLE 的语法在这个网站中。 在我们跳入 CREATE TABLE 的语法之前,我们最好先对表格这个东西有些多一点的了解。表格被分为栏位 (column) 及列位 (row)。每一列代表一笔资料,而每一栏代表一笔资料的一部份。举例来说,如果我们有一个记载顾客资料的表格,那栏位就有可能包括姓、名、地址、城市、国家、生日等等。当我们对表格下定义时,我们需要注明栏位的标题,以及那个栏位的资料种类。 那,资料种类是什么呢?资料可能是以许多不同的形式存在的。它可能是一个整数 (例如 1),、一个实数(例如 0.55)、一个字串 (例如 'sql')、一个日期/时间 (例如 '2000-JAN-25 03:22:22')、或甚至是 以二进法 (binary) 的状态存在。当我们在对一个表格下定义时,我们需要对每一个栏位的资料种类下定义。(例如 '姓' 这个栏位的资料种类是 char(50)代表这是一个 50 个字符的字串)。我们需要注意的一点是不同的数据库有不同的资料种类,所以在对表格做出定义之前最好先参考一下数据库本身的说明。 CREATE TABLE 的语法是: CREATE TABLE "表格名"("栏位 1" "栏位 1 资料种类","栏位 2" "栏位 2 资料种类",. ) 若我们要建立我们上面提过的顾客表格,我们就打入以下的 SQL: CREATE TABLE customer(First_Name char(50),Last_Name char(50),Address char(50),City char(50),Country char(25),Birth_Date date) 视观表 (Views) 可以被当作是虚拟表格。它跟表格的不同是,表格中有实际储存资料,而视观表是建立在表格之上的一个架构,它本身并不实际储存资料。 建立一个视观表的语法如下: CREATE VIEW "VIEW_NAME" AS "SQL 语句""SQL 语句" 可以是任何一个我们在这个教材中有提到的 SQL。来看一个例子。假设我们有以下的表格: TABLE Customer(First_Name char(50),Last_Name char(50),Address char(50),City char(50),Country char(25),Birth_Date date)若要在这个表格上建立一个包括 First_Name, Last_Name, 和 Country 这三个栏位的视观表,我们就打入, CREATE VIEW V_CustomerAS SELECT First_Name, Last_Name, CountryFROM Customer现在,我们就有一个叫做 V_Customer 的视观表: View V_Customer(First_Name char(50),Last_Name char(50),Country char(25)我们也可以用视观表来连接两个表格。在这个情况下,使用者就可以直接由一个视观表中找出她要的资讯,而不需要由两个不同的表格中去做一次连接的动作。假设有以下的两个表格: Store_Information 表格 store_nameSalesDateLos Angeles$1500Jan-05-1999San Diego$250Jan-07-1999Los Angeles$300Jan-08-1999Boston$700Jan-08-1999Geography 表格 region_namestore_nameEastBostonEastNew YorkWestLos AngelesWestSan Diego我们就可以用以下的指令来建一个包括每个地区 (region) 销售额 (sales) 的视观表: CREATE VIEW V_REGION_SALESAS SELECT A1.region_name REGION, SUM(A2.Sales) SALESFROM Geography A1, Store_Information A2WHERE A1.store_name = A2.store_nameGROUP BY A1.region_name这就给我们有一个名为 V_REGION_SALES 的视观表。这个视观表包含不同地区的销售哦。如果我们要从这个视观表中获取资料,我们就打入, SELECT * FROM V_REGION_SALES结果:REGIONSALESEast$700West$2050索引 (Index) 可以帮助我们从表格中快速地找到需要的资料。举例来说,假设我们要在一本园艺书中找如何种植青椒的讯息。若这本书没有索引的话,那我们是必须要从头开始读,直到我们找到有关种直青椒的地方为止。若这本书有索引的话,我们就可以先去索引找出种植青椒的资讯是在哪一页,然后直接到那一页去阅读。很明显地,运用索引是一种有效且省时的方式。 从资料库表格中寻找资料也是同样的原理。如果一个表格没有索引的话,资料库系统就需要将整个表格的资料读出 (这个过程叫做'table scan')。若有适当的索引存在,资料库系统就可以先由这个索引去找出需要的资料是在表格的什么地方,然后直接去那些地方抓资料。这样子速度就快多了。 因此,在表格上建立索引是一件有利于系统效率的事。一个索引可以涵盖一或多个栏位。建立索引的语法如下: CREATE INDEX "INDEX_NAME" ON "TABLE_NAME" (COLUMN_NAME)现在假设我们有以下这个表格, TABLE Customer(First_Name char(50),Last_Name char(50),Address char(50),City char(50),Country char(25),Birth_Date date)若我們要在 Last_Name 這個欄位上建一個索引,我們就打入以下的指令,CREATE INDEX IDX_CUSTOMER_LAST_NAMEon CUSTOMER (Last_Name)若我们要在 Last_Name 这个栏位上建一个索引,我们就打入以下的指令,CREATE INDEX IDX_CUSTOMER_LOCATIONon CUSTOMER (City, Country)索引的命名并没有一个固定的方式。通常会用的方式是在名称前加一个字首,例如 "IDX_" ,来避免与资料库中的其他物件混淆。另外,在索引名之内包括表格名及栏位名也是一个好的方式。 请读者注意,每个资料库会有它本身的 CREATE INDEX 语法,而不同资料库的语法会有不同。因此,在下指令前,请先由资料库使用手册中确认正确的语法。 在表格被建立在资料库中后,我们常常会发现,这个表格的结构需要有所改变。常见的改变如下: · 加一个栏位 · 删去一个栏位 · 改变栏位名称 · 改变栏位的资料种类 以上列出的改变并不是所有可能的改变。ALTER TABLE 也可以被用来作其他的改变,例如改变主键定义。 ALTER TABLE 的语法如下: ALTER TABLE "table_name"改变方式 改变方式 的详细写法会依我们想要达到的目标而有所不同。再以上列出的改变中,改变方式 如下: · 加一个栏位: ADD "栏位 1" "栏位 1 资料种类" · 删去一个栏位: DROP "栏位 1" · 改变栏位名称: CHANGE "原本栏位名" "新栏位名" "新栏位名资料种类" · 改变栏位的资料种类: MODIFY "栏位 1" "新资料种类" 以下我们用在CREATE TABLE 一页建出的 customer 表格来当作例子: customer 表格 栏位名称资料种类First_Namechar(50)Last_Namechar(50)Addresschar(50)Citychar(50)Countrychar(25)Birth_Datedate第一,我们要加入一个叫做 "gender" 的栏位。这可以用以下的指令达成: ALTER table customer add Gender char(1) 这个指令执行后的表格架构是: customer 表格 栏位名称资料种类First_Namechar(50)Last_Namechar(50)Addresschar(50)Citychar(50)Countrychar(25)Birth_DatedateGenderchar(1)接下来,我们要把 "Address" 栏位改名为 "Addr"。这可以用以下的指令达成: ALTER table customer change Address Addr char(50) 这个指令执行后的表格架构是: customer 表格 栏位名称资料种类First_Namechar(50)Last_Namechar(50)Addrchar(50)Citychar(50)Countrychar(25)Birth_DatedateGenderchar(1)再来,我们要将 "Addr" 栏位的资料种类改为 char(30)。这可以用以下的指令达成: ALTER table customer modify Addr char(30) 这个指令执行后的表格架构是: customer 表格 栏位名称资料种类First_Namechar(50)Last_Namechar(50)Addrchar(30)Citychar(50)Countrychar(25)Birth_DatedateGenderchar(1)最后,我们要删除 "Gender" 栏位。这可以用以下的指令达成: ALTER table customer drop Gender 这个指令执行后的表格架构是: customer 表格 栏位名称资料种类First_Namechar(50)Last_Namechar(50)Addrchar(30)Citychar(50)Countrychar(25)Birth_Datedate主键 (Primary Key) 中的每一笔资料都是表格中的唯一值。换言之,它是用来独一无二地确认一个表格中的每一行资料。主键可以是原本资料内的一个栏位,或是一个人造栏位 (与原本资料没有关系的栏位)。主键可以包含一或多个栏位。当主键包含多个栏位时,称为组合键 (Composite Key)。 主键可以在建置新表格时设定 (运用 CREATE TABLE 语句),或是以改变现有的表格架构方式设定 (运用 ALTER TABLE)。 以下举几个在建置新表格时设定主键的方式: MySQL: CREATE TABLE Customer (SID integer, Last_Name varchar(30), First_Name varchar(30), PRIMARY KEY (SID); Oracle: CREATE TABLE Customer (SID integer PRIMARY KEY, Last_Name varchar(30), First_Name varchar(30); SQL Server: CREATE TABLE Customer (SID integer PRIMARY KEY, Last_Name varchar(30), First_Name varchar(30); 以下则是以改变现有表格架构来设定主键的方式: MySQL: ALTER TABLE Customer ADD PRIMARY KEY (SID); Oracle: ALTER TABLE Customer ADD PRIMARY KEY (SID); SQL Server: ALTER TABLE Customer ADD PRIMARY KEY (SID); 请注意,在用ALTER TABLE语句来添加主键之前,我们需要确认被用来当做主键的栏位是设定为 NOT NULL ;也就是说,那个栏位一定不能没有资料。 外来键是一个(或数个)指向另外一个表格主键的栏位。外来键的目的是确定资料的参考完整性(referential integrity)。换言之,只有被准许的资料值才会被存入资料库内。 举例来说,假设我们有两个表格:一个 CUSTOMER 表格,里面记录了所有顾客的资料;另一个 ORDERS 表格,里面记录了所有顾客订购的资料。在这里的一个限制,就是所有的订购资料中的顾客,都一定是要跟在 CUSTOMER 表格中存在。在这里,我们就会在 ORDERS 表格中设定一个外来键,而这个外来键是指向 CUSTOMER 表格中的主键。这样一来,我们就可以确定所有在 ORDERS 表格中的顾客都存在 CUSTOMER 表格中。换句话说,ORDERS表格之中,不能有任何顾客是不存在于 CUSTOMER 表格中的资料。 这两个表格的结构将会是如下: CUSTOMER 表格 栏位名性质SID主键Last_NameFirst_NameORDERS 表格 栏位名性质Order_ID主键Order_DateCustomer_SID外来键Amount在以上的例子中,ORDERS 表格中的 customer_SID 栏位是一个指向 CUSTOMERS 表格中 SID 栏位的外来键。 以下列出几个在建置 ORDERS 表格时指定外来键的方式: MySQL: CREATE TABLE ORDERS (Order_ID integer, Order_Date date, Customer_SID integer, Amount double, Primary Key (Order_ID), Foreign Key (Customer_SID) references CUSTOMER(SID); Oracle: CREATE TABLE ORDERS (Order_ID integer primary key, Order_Date date, Customer_SID integer references CUSTOMER(SID), Amount double); SQL Server: CREATE TABLE ORDERS (Order_ID integer primary key, Order_Date datetime, Customer_SID integer references CUSTOMER(SID), Amount double); 以下的例子则是藉着改变表格架构来指定外来键。这里假设 ORDERS 表格已经被建置,而外来键尚未被指定: MySQL: ALTER TABLE ORDERS ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid); Oracle: ALTER TABLE ORDERS ADD (CONSTRAINT fk_orders1) FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid); SQL Server: ALTER TABLE ORDERS ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid); 有时候我们会决定我们需要从数据库中清除一个表格。事实上,如果我们不能这样做的话,那将会是一个很大的问题,因为数据库管理师 (Database Administrator - DBA) 势必无法对数据库做有效率的管理。还好,SQL 有提供一个 DROP TABLE的语法来让我们清除表格。 DROP TABLE 的语法是: DROP TABLE "表格名" 我们如果要清除在SQL CREATE 中建立的顾客表格,我们就打入: DROP TABLE customer. 有时候我们会需要清除一个表格中的所有资料。要达到者个目的,一种方式是我们在 SQL DROP 那一页 看到的 DROP TABLE 指令。不过这样整个表格就消失,而无法再被用了。另一种方式就是运用 TRUNCATE TABLE 的指令。在这个指令之下,表格中的资料会完全消失,可是表格本身会继续存在。 TRUNCATE TABLE 的语法为下: TRUNCATE TABLE "表格名" 所以,我们如果要清除在 SQL Create 那一页建立的顾客表格之内的资料,我们就打入: TRUNCATE TABLE customer. 到目前为止,我们学到了将如何把资料由表格中取出。但是这些资料是如果进入这些表格的呢? 这就是这一页 (INSERT INTO) 和下一页 (UPDATE) 要讨论的。 基本上,我们有两种作法可以将资料输入表格中内。一种是一次输入一笔,另一种是一次输入好几笔。 我们先来看一次输入一笔的方式。 依照惯例,我们先介绍语法。一次输入一笔资料的语法如下: INSERT INTO "表格名" ("栏位1", "栏位2", .)VALUES ("值1", "值2", .) 假设我们有一个架构如下的表格: Store_Information 表格Column Name Data Type store_name char(50) Sales float Date datetime 而我们要加以下的这一笔资料进去这个表格:在 January 10, 1999,Los Angeles 店有 $900 的营业额。我们就打入以下的 SQL 语句: INSERT INTO Store_Information (store_name, Sales, Date)VALUES ('Los Angeles', 900, 'Jan-10-1999') 第二种 INSERT INTO 能够让我们一次输入多笔的资料。跟上面刚的例子不同的是,现在我们要用 SELECT 指令来指明要输入表格的资料。如果您想说,这是不是说资料是从另一个表格来的,那您就想对了。一次输入多笔的资料的语法是: INSERT INTO "表格1" ("栏位1", "栏位2", .)SELECT "栏位3", "栏位4", .FROM "表格2" 以上的语法是最基本的。这整句 SQL 也可以含有 WHERE、 GROUP BY、 及 HAVING 等子句,以及表格连接及别名等等。 举例来说,若我们想要将 1998 年的营业额资料放入 Store_Information 表格,而我们知道资料的来源是可以由 Sales_Information 表格取得的话,那我们就可以打入以下的 SQL: INSERT INTO Store_Information (store_name, Sales, Date)SELECT store_name, Sales, DateFROM Sales_InformationWHERE Year(Date) = 1998 在这里,我用了 SQ

    注意事项

    本文([计算机软件及应用]SQL语句超详细教程.doc)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开