分享
 
 
 

用SQL进行单表查询

王朝mssql·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

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

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的字符串。

4.2.5 组合条件的查询

(1)在【命令编辑区】输入“select empno,ename,job from scott.emp where job>=’CLERK’ and sal<=2000”,然后单击【执行】按钮,出现如图4.8所示的逻辑与组合查询的结果。

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

(2)在【命令编辑区】输入“select empno,ename,job from scott.emp where job>=’CLERK’ or sal<=2000”,然后单击【执行】按钮,出现如图4.9所示的逻辑或组合查询的结果。

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

(3)在【命令编辑区】输入“select empno,ename,job from scott.emp where not job=’CLERK’”,然后单击【执行】按钮,出现如图4.10所示的逻辑非组合查询的结果。

【参见光盘文件】:\第4章\4.2\425-3.sql。

“not job=’CLERK’”等价于“job<>’CLERK’”。

组合条件中使用的逻辑比较符如表4.2所示。

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

表4.2 逻辑比较符

名称

实例

and(与)

select * from scott.emp where job=’MANAGER’ and sal<>2000;

or (或)

select * from scott.emp where job!=’MANAGER’ or sal<>2000;

not(非)

select * from scott.emp where not job>=’MANAGER’;

4.2.6 排序查询

在【命令编辑区】输入“select empno,ename,job from scott.emp where job<=’CLERK’ order by job asc,sal desc”,然后单击【执行】按钮,出现如图4.11所示的排序查询的结果。

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

order by 可以指定查询结果如何排序,形式为字段名 排序要害词;asc代表升序排列,desc代表降序排列,多个排序字段之间通过逗号分割。若有where查询条件,order by要放在where语句后面。

4.2.7 分组查询

分组查询是指将查询结果按照字段分组。

(1)在【命令编辑区】输入“select empno,ename,job,sal from scott.emp group by job,empno,ename,sal having sal<=2000”,然后单击【执行】按钮,出现如图4.12所示的分组查询的结果。

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

(2)在【命令编辑区】输入“select empno,ename,job,sal from scott.emp where sal<=2000 group by job,empno,ename,sal”,然后单击【执行】按钮,出现如图4.13所示的分组查询的结果。

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

where检查每条记录是否符合条件,having是检查分组后的各组是否满足条件。having语句只能配合group by语句使用,没有group by时不能使用having,但可以使用where。

4.2.8 字段运算查询

可以利用几种基本的算术运算符来查询数据。

常见的+(加)、-(减)、*(乘)、/(除)4种算术运算都可以用来查询数据。

在【命令编辑区】输入“select empno,ename,sal,mgr,sal+mgr from scott.emp”,然后单击【执行】按钮,出现如图4.14所示的结果。

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

利用算术运算符仅仅适合多个数值型字段或字段与数字之间的运算。

4.2.9 变换查询显示

在【命令编辑区】输入“select empno 编号,ename 姓名,job 工作,sal 薪水 from scott.emp”,然后单击【执行】按钮,出现如图4.15所示的结果,可以将默认的字段名以设定的名称显示。

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

以上我们学习了对单个数据表的查询语句。将上面这些基本的实例经过组合,就可以完成基本的日常数据查询任务,接下来进一步学习多表查询。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有