首页 > 数据库 > Oracle教程 > 正文

用SQL进行单表查询

互联网 2017-04-11 16:36:04 0

  单表查询是相对多表查询而言的,指从一个数据表中查询数据。

  4.2.1 查询所有的记录

  在【命令编辑区】执行输入“select * from scott.emp”,然后单击【执行】按钮,出现如图4.3所示的emp数据表所有记录。

  【参见光盘文件】:/第4章/4.2/421.sql。

  select * from 数据表,这里的“*”代表数据表中所有的字段。

  4.2.2 查询所有记录的某些字段

  在【命令编辑区】输入“select empno,ename,job from scott.emp”,然后单击【执行】按钮,将显示emp数据表的empno、ename和job字段,如图4.4所示。

  【参见光盘文件】:/第4章/4.2/422.sql。

  select 字段名1, 字段名2,…… from 数据表,将显示某些特定的字段,注意这里的字段名之间的逗号是英文状态下的逗号。

  4.2.3 查询某些字段不同记录

  在图4.4所示的job字段中,可以发现有相同的数据,为了查询有多少种不同的job,在【命令编辑区】输入“select distinct job from scott.emp”,然后单击【执行】按钮,出现如图4.5所示的结果。

  【参见光盘文件】:/第4章/4.2/423.sql。

  select distinct 字段名 from 数据表,这里的“distinct”保留字指在显示时去除相同的记录,与之对应的是“all”将保留相同的记录,默认为“all”。

  4.2.4 单条件的查询

  (1)在【命令编辑区】输入“select empno,ename,job from scott.emp where job=’MANAGER’”,然后单击【执行】按钮,出现如图4.6所示的字符型字段条件查询的结果,查询的是job为MANAGER的记录。

  【参见光盘文件】:/第4章/4.2/424-1.sql。

  (2)在【命令编辑区】输入“select empno,ename,sal from scott.emp where sal<=2500”,然后单击【执行】按钮,出现如图4.7所示的数字型字段条件查询的结果,查询的是满足sal小于等于2500的记录。

  【参见光盘文件】:/第4章/4.2/424-2.sql。

  where可以指定查询条件,如果是指定字符型字段查询条件,形式为字段名 运算符 '字符串';如果是指定数字型字段查询条件,形式为字段名 运算符 '字符串'。 单条件查询使用的比较运算符如表4.1所示。

  【参见光盘文件】:/第4章/4.2/table41.sql。

  表4.1 比较运算符

名称实例
=(等于)select * from scott.emp where job=’MANAGER’;
select * from scott.emp where sal=1100;
!= (不等于)select * from scott.emp where job!=’MANAGER’;
select * from scott.emp where sal!=1100;
^=(不等于)select * from scott.emp where job^=’MANAGER’;
select * from scott.emp where sal^=1100;
<>(不等于)select * from scott.emp where job<>’MANAGER’;
select * from scott.emp where sal<>1100;
<(小于)select * from scott.emp where sal<2000;
select * from scott.emp where job<’MANAGER’;
>(大于)select * from scott.emp where sal>2000;
select * from scott.emp where job>’MANAGER’;
<=(小于等于)select * from scott.emp where sal<=2000;
select * from scott.emp where job<=’MANAGER’;
>=(大于等于)select * from scott.emp where sal>=2000;
select * from scott.emp where job>=’MANAGER’;
in(列表)select * from scott.emp where sal in (2000,1000,3000);
select * from scott.emp where job in (’MANAGER’,’CLERK’);
not in(不在列表)select * from scott.emp where sal not in (2000,1000,3000);
select * from scott.emp where job not in (’MANAGER’,’CLERK’);
between(介于之间)select * from scott.emp where sal between 2000 and 3000;
select * from scott.emp where job between ’MANAGER’ and ’CLERK’;
not between (不介于之间)select * from scott.emp where sal not between 2000 and 3000;
select * from scott.emp where job not between ’MANAGER’ and ’CLERK’;
like(模式匹配)select * from scott.emp where job like ’M%’;
select * from scott.emp where job like ’M__’;
not like (模式不匹配)select * from scott.emp where job not like ’M%’;
select * from scott.emp where job not like ’M__’;
Is null (是否为空)select * from scott.emp where sal is null;
select * from scott.emp where job is null;
is not null(是否为空)select * from scott.emp where sal is not null;
select * from scott.emp where job is not null;

  like和not like适合字符型字段的查询,%代表任意长度的字符串,_下划线代表一个任意的字符。like ‘m%’ 代表m开头的任意长度的字符串,like ‘m__’ 代表m开头的长度为3的字符串。

  • 相关标签:
  • 版权归原作者所有,如果有侵犯到您的权益,请联系本站删除!
  • 相关文章


    • 暂无相关信息

    专题推荐

    今日头条
  • 学习Python的正确姿势 学习Python的正确姿势
  • Google Chrome 58.0.3029.96 正式版发布 Google Chrome 58.0.3029.96 正式版发布
  • Docker公司更换 CEO,将着重发力商业变现 Docker公司更换 CEO,将着重发力商业变现
  • 优酷播放器 一款无优酷LOGO的精美优酷播放器代码 优酷播放器 一款无优酷LOGO的精美优酷播放器代码
  • 热门标签