打印本文 打印本文 关闭窗口 关闭窗口
用SQL进行单表查询
作者:武汉SEO闵涛  文章来源:敏韬网  点击数941  更新时间:2009/4/22 22:01:38  文章录入:mintao  责任编辑:mintao


    单表查询是相对多表查询而言的,指从一个数据表中查询数据。
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


打印本文 打印本文 关闭窗口 关闭窗口