SQL基础第二章从表中获取信息

<html>
<p align="center"><font color="#FF0000" size="7">第二章     从表中获取信息
</font></p>
<p align="center"><font color="#FF0000" size="4"> <strong>Select语句</strong></font></p>
<p><font size="4"> 在SQL中,select语句用于从表中获取信息,。它有六个子句:</font></p>
<p><font size="4"> select   要获取哪几列数据
</font></p>
<p><font size="4">from     哪个表中有数据
</font></p>
<p><font size="4">where    获得哪几行数据</font></p>
<p><font size="4"> group by   
  having    
</font></p>
<p><font size="4">order  by 使用哪几列来对结果进行归类
这些语句的使用是有一定顺序的,group by和having用于数据的总结。</font></p>
<p><font size="4">后面会有介绍,。</font></p>
<p><font size="4"> from语句总是只列出一个表
</font></p>
<p><font size="4">一个select语句通常被称为一个查询,</font></p>
<p><font size="4"> 这里给出了使用上述所有子句的select语句的一个例子:</font></p>
<p><font size="4"><strong>显示Lunches数据库的1_employees表中的employee_id,last-name,credit_limit,列,只显示信贷额超过¥20.00的员工。按员工的last_name对结果进行排序。
</strong></font></p>
<p><font color="#0000FF" size="4">select employee_id,</font></p>
<p><font color="#0000FF" size="4"> last_name;
</font></p>
<p><font color="#0000FF" size="4">credit_limit
</font></p>
<p><font color="#0000FF" size="4">from      1_employees</font></p>
<p><font color="#0000FF" size="4"> where      credit_limit>20.00</font></p>
<p><font color="#0000FF" size="4"> order by   last_name;
  
</font></p>
<p align="center"><strong><font color="#FF0000" size="4">select子句
  </font></strong></p>
<p><font size="4">select子句在结果表中列出了所有显示的列,列名后如果没有逗号,计算机就认为下面将出现另一个子句,即from子句。</font><font size="4">还要注意,这些列名不能含有空格。</font></p>
<p><font size="4"> where子句表时在结果中显示哪几行,</font></p>
<p><font size="4">order by子句指定结果表的行必须按照子母顺序进行排列,分号表明语句结束。</font></p>
<p><font size="4"> 根据关系数据库理论,表是惟一的数据库结构,所以我将查询结果清单称为结果表,结果表只出现在屏幕上,并不存储在硬盘上。</font></p>
<p><font size="4"> select子句是查询的第一部分,一共有三种形式:</font></p>
<p><font size="4"> 1.select 列:
  只获取列出的列,按这些列被列出的顺序放置这些列,可以重新命名这些列。</font></p>
<p><font size="4"> 2.select *或select 表名. *
  获取表中所有的列,排列顺序与表中顺序相同,不能够重新命名这些列。</font></p>
<p><font size="4"> 3. select distinct 列:
  只获取列出的列,按列出这些列的顺序放置这些列,可以重新命名这些列,除去结果中的重复行。</font></p>
<p><font size="4"> select子句和from子句是必须的,可以使用这两个子句写一条select语句。
  select *
  from 1_employees.
  
  
  
  使用select子句获取若干列
  
  多次列出同一个列是可能的。对列使用不同的格式或者函数时,这样做是非常有用的。
  select子句中可以包含文字值,这个值会出现在结果表的每一行,如果文字值是文本或日期,则必须使用单引号将其括起来。如果是数字,就不需要使用引号。
  通过指定别名,可以对列进行重新命名。</font></p>
<p><font size="4">其语法如下:
  column_name As alias_name
  As的使用。有时候为了节省空间,列标题在结果表中会被缩写,而不是显示列的全名或别名。</font></p>
<p><font size="4"> <strong>任务:从1_employees中取出三列:employee_id;phone_number;last_name;
  按照上面的顺序显示它们,将employee_id的名字改为employee_number,
  phone_number的名字改为extension.
  创建两个新列,evaluation和rating.每个员工的评定(evaluation)都为“excellent worker“,等级为10.</strong></font></p>
<p><font size="4"> 方法:</font></p>
<p><font size="4"> select employee_id as employee_number,</font></p>
<p><font size="4"> phone_number as extension,</font></p>
<p><font size="4"> last_name,
  </font></p>
<p><font size="4">‘excellent worker'as evaluation,
  </font></p>
<p><font size="4">10 as rating</font></p>
<p><font size="4"> from 1_employees;</font></p>
<p><font size="4"> 文本“excellent worker"被添加到名为evaluation列中的每一行,这是在select语句中放置文字的一个例子。这个例子的文字值使用的是文 本,因此使用单引号将其括了引起来。如果是数字,则不需要将它括起来。</font></p>
<p><font size="4"> 使用select子句获取所有的列
  select *
  from 1_employees;</font></p>
<p><font size="4"> 使用select语句获取某个列中的相异值
  select distinct</font></p>
<p><font size="4"> select distinct manage_id
  from 1_employees;
  select distinct可以使用where子句限制结果表中的行数。where子句最先进行处理,它从原表中删除了一些行,然后再运行select distinct.
  
  
  </font></p>
<p><font size="4">where子句概述
  where 中的条件有:
  等于----和其它比较测试
  =   <    >    <=    >=    <>不等于
  包含测试------特定值的清单
  in    not in 
  like   not like 
  between  not between
  is null    is not null
  and 
  or 
  not</font></p>
<p align="center"><font color="#FF0000" size="4"> 在where中使用等于条件</font></p>
<p><font size="4"> select employee_id,
  </font></p>
<p><font size="4">first_name,
  </font></p>
<p><font size="4">last_name,
  </font></p>
<p><font size="4">manage_id
  </font></p>
<p><font size="4">from   1_employees
  </font></p>
<p><font size="4">where manage_id=203
  or manager_id is null;
  </font></p>
<p><font size="4">where manage_id<222;
  where not (manager_id = 203);
  where manager_id<>203;
  where manager_id !=203;
  要想从原表中显示所有这些行,需要考虑三种情况:
  where manager_id=203
  where manager_id!=203
  where manager_id is null;
  </font></p>
<p><font color="#FF0000" size="4">在where中使用in条件</font></p>
<p><font size="4"> where manager_id in(202,203);</font></p>
<p><font color="#FF0000" size="4"> 在where中使用between语句</font></p>
<p><font size="4"> between语句条件可以应用于数字、文本和日期,在这个例子中,它被应用于日期。在Oracle中,日期必须是使用单引号引起来的。在Access中,日期必须包含在井字符中。
  </font></p>
<p><font size="4">where hire_data between'16-aug-1999'
  and '01-jul-2003';
  where hire_data between #16-aug-1999#
  and#       #;
  </font></p>
<p><font color="#FF0000" size="4">在where中使用like条件
  </font></p>
<p><font size="4">like条件被用于数据的查找模式,这些模式是使用通配符指定的。这只用于like条件,当对另一个条件使用同一个通配符时它们不再是通配符。
  模式指定应该在单引号中进行。</font></p>
<p><font size="4"> 通配符和他们的含义:
  在Access中:
  *  任意长度的字符串,或者可能根本就没有字符。
  ? 一个字符。
  # 一个数字。
  【c-m】字符的范围
  [!c-m]字符范围之外
  [*][#]将字符放入方括号意味着按照字面意思使用它。而不是将它和作通配符。
  where last_name like '*n*';
  意思是查找出其中含有字母n的单词。
  在where中使用is null
  where manager_id is null;
  
  
  </font></p>
<p><font color="#FF0000" size="4">order by子句概述</font></p>
<p><font size="4"> 默认值是升序排序,通常不指定它。为了降序排列,则必须指定desc.
  列通过它的名字指定的。
  语法::
  order by列名  可以为每一个指定一个排序顺序
  每一个列的排序选项:
  asc  升序 默认
  desc   降序  
  例如:
  </font></p>
<p><font size="4">order by employee_id
  </font></p>
<p><font size="4">order by last_name,first_name
  </font></p>
<p><font size="4">order by hire_date desc,</font></p>
<p><font size="4"> last_name,
  first_name
  
  
  通过若干列升序排列行 </font></p>
<hr align=left width=80% size=2 noshade>
<a href="D:\SQL\SQL基础\首页.html"><font color=green size=7><strong><u>返回首页</u></strong></font></a>
</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值