仓酷云

标题: MYSQL编程:用SQL举行单表查询 [打印本页]

作者: 灵魂腐蚀    时间: 2015-1-16 22:20
标题: MYSQL编程:用SQL举行单表查询
解决方案提供商应记住DBaaS通常仅仅是解决方案的一部分。客户之所以与他们的解决方案提供商协同工作,不仅是因为他们出售的产品,而且还因为他们所提供的服务。单表查询是绝对多表查询而言的,指从一个数据表中查询数据。
4.2.1查询一切的纪录
在【命令编纂区】实行输出“select*fromscott.emp”,然后单击【实行】按钮,呈现如.3所示的emp数据表一切纪录。
【拜见光盘文件】:第4章4.2421.sql。
MYSQL编程:用SQL举行单表查询
登录/注册后可看大图

select*from数据表,这里的“*”代表数据表中一切的字段。
4.2.2查询一切纪录的某些字段
在【命令编纂区】输出“selectempno,ename,jobfromscott.emp”,然后单击【实行】按钮,将显现emp数据表的empno、ename和job字段,如.4所示。
【拜见光盘文件】:第4章4.2422.sql。
MYSQL编程:用SQL举行单表查询
登录/注册后可看大图

select字段名1,字段名2,……from数据表,将显现某些特定的字段,注重这里的字段名之间的逗号是英文形态下的逗号。
4.2.3查询某些字段分歧纪录
在.4所示的job字段中,能够发明有不异的数据,为了查询有几种分歧的job,在【命令编纂区】输出“selectdistinctjobfromscott.emp”,然后单击【实行】按钮,呈现如.5所示的了局。
【拜见光盘文件】:第4章4.2423.sql。
MYSQL编程:用SQL举行单表查询
登录/注册后可看大图

selectdistinct字段名from数据表,这里的“distinct”保存字指在显现时往除不异的纪录,与之对应的是“all”将保存不异的纪录,默许为“all”。
4.2.4单前提的查询
(1)在【命令编纂区】输出“selectempno,ename,jobfromscott.empwherejob=’MANAGER’”,然后单击【实行】按钮,呈现如.6所示的字符型字段前提查询的了局,查询的是job为MANAGER的纪录。
【拜见光盘文件】:第4章4.2424-1.sql。
MYSQL编程:用SQL举行单表查询
登录/注册后可看大图

(2)在【命令编纂区】输出“selectempno,ename,salfromscott.empwheresal<=2500”,然后单击【实行】按钮,呈现如.7所示的数字型字段前提查询的了局,查询的是满意sal小于即是2500的纪录。
【拜见光盘文件】:第4章4.2424-2.sql。
MYSQL编程:用SQL举行单表查询
登录/注册后可看大图

where能够指定查询前提,假如是指定字符型字段查询前提,情势为字段名运算符字符串;假如是指定命字型字段查询前提,情势为字段名运算符字符串。单前提查询利用的对照运算符如表4.1所示。
【拜见光盘文件】:第4章4.2        able41.sql。
表4.1对照运算符称号实例=(即是)select*fromscott.empwherejob=’MANAGER’;select*fromscott.empwheresal=1100;!=(不即是)select*fromscott.empwherejob!=’MANAGER’;select*fromscott.empwheresal!=1100;^=(不即是)select*fromscott.empwherejob^=’MANAGER’;select*fromscott.empwheresal^=1100;(不即是)select*fromscott.empwherejob’MANAGER’;select*fromscott.empwheresal1100;<(小于)select*fromscott.empwheresal<2000;select*fromscott.empwherejob<’MANAGER’;>(年夜于)select*fromscott.empwheresal>2000;select*fromscott.empwherejob>’MANAGER’;<=(小于即是)select*fromscott.empwheresal<=2000;select*fromscott.empwherejob<=’MANAGER’;>=(年夜于即是)select*fromscott.empwheresal>=2000;select*fromscott.empwherejob>=’MANAGER’;in(列表)select*fromscott.empwheresalin(2000,1000,3000);select*fromscott.empwherejobin(’MANAGER’,’CLERK’);notin(不在列表)select*fromscott.empwheresalnotin(2000,1000,3000);select*fromscott.empwherejobnotin(’MANAGER’,’CLERK’);between(介于之间)select*fromscott.empwheresalbetween2000and3000;select*fromscott.empwherejobbetween’MANAGER’and’CLERK’;notbetween(不介于之间)select*fromscott.empwheresalnotbetween2000and3000;select*fromscott.empwherejobnotbetween’MANAGER’and’CLERK’;like(形式婚配)select*fromscott.empwherejoblike’M%’;select*fromscott.empwherejoblike’M__’;notlike(形式不婚配)select*fromscott.empwherejobnotlike’M%’;select*fromscott.empwherejobnotlike’M__’;Isnull(是不是为空)select*fromscott.empwheresalisnull;select*fromscott.empwherejobisnull;isnotnull(是不是为空)select*fromscott.empwheresalisnotnull;select*fromscott.empwherejobisnotnull;like和notlike合适字符型字段的查询,%代表恣意长度的字符串,_下划线代表一个恣意的字符。like‘m%’代表m开首的恣意长度的字符串,like‘m__’代表m开首的长度为3的字符串。
4.2.5组合前提的查询
(1)在【命令编纂区】输出“selectempno,ename,jobfromscott.empwherejob>=’CLERK’andsal<=2000”,然后单击【实行】按钮,呈现如.8所示的逻辑与组合查询的了局。
【拜见光盘文件】:第4章4.2425-1.sql。
MYSQL编程:用SQL举行单表查询
登录/注册后可看大图

(2)在【命令编纂区】输出“selectempno,ename,jobfromscott.empwherejob>=’CLERK’orsal<=2000”,然后单击【实行】按钮,呈现如.9所示的逻辑或组合查询的了局。
【拜见光盘文件】:第4章4.2425-2.sql。
MYSQL编程:用SQL举行单表查询
登录/注册后可看大图

(3)在【命令编纂区】输出“selectempno,ename,jobfromscott.empwherenotjob=’CLERK’”,然后单击【实行】按钮,呈现如.10所示的逻辑非组合查询的了局。
【拜见光盘文件】:第4章4.2425-3.sql。
MYSQL编程:用SQL举行单表查询
登录/注册后可看大图

“notjob=’CLERK’”等价于“job’CLERK’”。
组合前提中利用的逻辑对照符如表4.2所示。
【拜见光盘文件】:第4章4.2        able42.sql。
表4.2逻辑对照符
称号实例and(与)select*fromscott.empwherejob=’MANAGER’andsal2000;or(或)select*fromscott.empwherejob!=’MANAGER’orsal2000;not(非)select*fromscott.empwherenotjob>=’MANAGER’;4.2.6排序查询
在【命令编纂区】输出“selectempno,ename,jobfromscott.empwherejob<=’CLERK’orderbyjobasc,saldesc”,然后单击【实行】按钮,呈现如.11所示的排序查询的了局。
【拜见光盘文件】:第4章4.2426.sql。
MYSQL编程:用SQL举行单表查询
登录/注册后可看大图

orderby能够指定查询了局怎样排序,情势为字段名排序关头词;asc代表升序分列,desc代表降序分列,多个排序字段之间经由过程逗号支解。如有where查询前提,orderby要放在where语句前面。
4.2.7分组查询
分组查询是指将查询了局依照字段分组。
(1)在【命令编纂区】输出“selectempno,ename,job,salfromscott.empgroupbyjob,empno,ename,salhavingsal<=2000”,然后单击【实行】按钮,呈现如.12所示的分组查询的了局。
【拜见光盘文件】:第4章4.2427-1.sql。
MYSQL编程:用SQL举行单表查询
登录/注册后可看大图

(2)在【命令编纂区】输出“selectempno,ename,job,salfromscott.empwheresal<=2000groupbyjob,empno,ename,sal”,然后单击【实行】按钮,呈现如.13所示的分组查询的了局。
【拜见光盘文件】:第4章4.2427-2.sql。
MYSQL编程:用SQL举行单表查询
登录/注册后可看大图

where反省每笔记录是不是切合前提,having是反省分组后的各组是不是满意前提。having语句只能共同groupby语句利用,没有groupby时不克不及利用having,但可使用where。
4.2.8字段运算查询
能够使用几种基础的算术运算符来查询数据。
罕见的+(加)、-(减)、*(乘)、/(除)4种算术运算都能够用来查询数据。
在【命令编纂区】输出“selectempno,ename,sal,mgr,sal+mgrfromscott.emp”,然后单击【实行】按钮,呈现如.14所示的了局。
【拜见光盘文件】:第4章4.2428.sql。
MYSQL编程:用SQL举行单表查询
登录/注册后可看大图

使用算术运算符仅仅合适多个数值型字段或字段与数字之间的运算。
4.2.9变更查询显现
在【命令编纂区】输出“selectempno编号,ename姓名,job事情,sal薪水fromscott.emp”,然后单击【实行】按钮,呈现如.15所示的了局,能够将默许的字段名以设定的称号显现。
【拜见光盘文件】:第4章4.2429.sql。
MYSQL编程:用SQL举行单表查询
登录/注册后可看大图

以上我们进修了对单个数据表的查询语句。将下面这些基础的实例经由组合,就能够完成基础的一样平常数据查询义务,接上去进一步进修多表查询。
有的时候,一些缺失的功能可以通过别的办法来实现,例如,在MySQL4.1以前,你可以通过使用join方法来替代子查询的功能。在MySQL5.0中,大多数关系型数据库所要求的功能已经都具备。
作者: 再现理想    时间: 2015-1-19 09:06
其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!
作者: 活着的死人    时间: 2015-1-24 14:57
如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。
作者: 兰色精灵    时间: 2015-2-1 17:24
SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
作者: 蒙在股里    时间: 2015-2-7 12:44
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
作者: 仓酷云    时间: 2015-2-21 22:18
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
作者: 山那边是海    时间: 2015-3-6 21:59
需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。
作者: 灵魂腐蚀    时间: 2015-3-20 20:21
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2