仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1855|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL编程:SQL select 语法

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:40:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失select|语法
SQL内里最经常使用的命令是SELECT语句,用于检索数据。语法是:

SELECT[ALL|DISTINCT[ON(expression[,...])]]*|expression[ASoutput_name][,...][INTO[TEMPORARY|TEMP][TABLE]new_table][FROMfrom_item[,...]][WHEREcondition][GROUPBYexpression[,...]][HAVINGcondition[,...]][{UNION|INTERSECT|EXCEPT[ALL]}select][ORDERBYexpression[ASC|DESC|USINGoperator][,...]][FORUPDATE[OFclass_name[,...]]][LIMIT{count|ALL}[{OFFSET|,}start]]



如今我们将经由过程分歧的例子演示SELECT语句庞大的语法。用于这些例子的表在供给商和部件数据库里界说。
1.4.1.1.复杂的Select
这里是一些利用SELECT语句的复杂例子:

Example1-4.带有前提的复杂查询

要从表PART内里把字段PRICE年夜于10的一切纪录找出来,我们写出上面查询:

SELECT*FROMPARTWHEREPRICE>10;
然后失掉表:
PNO|PNAME|PRICE-----+---------+--------3|Bolt|154|Cam|25



在SELECT语句里利用"*"将检索出表中的一切属性。假如我们只但愿从表PART中检索出属性PNAME和PRICE,我们利用上面的语句:

SELECTPNAME,PRICEFROMPARTWHEREPRICE>10;
这回我们的了局是:
PNAME|PRICE--------+--------Bolt|15Cam|25
请注重SQL的SELECT语句对应干系演算内里的"projection"(映照),而不是"selection"(选择)(参阅干系演算猎取具体信息)。


WHERE子句里的前提也能够用关头字OR,AND,和NOT逻辑地毗连起来:

SELECTPNAME,PRICEFROMPARTWHEREPNAME=BoltAND(PRICE=0ORPRICE<=15);
如许将天生上面的了局:
PNAME|PRICE--------+--------Bolt|15



方针列表和WHERE子句里可使用算术操纵。比方,假如我们想晓得假如我们买两个部件的话要几钱,我们能够用上面的查询:

SELECTPNAME,PRICE*2ASDOUBLEFROMPARTWHEREPRICE*2<50;
如许我们失掉:
PNAME|DOUBLE--------+---------Screw|20Nut|16Bolt|30
请注重在关头字AS前面的DOUBLE是第二个列的新名字。这个技能能够用于方针列内外的每一个元素,给它们付与一个在了局列中显现的新的题目。这个新的题目一般称为别号。这一般名不克不及在该查询的其他中央利用。



1.4.1.2.Joins(毗连)
上面的例子显现了SQL里是怎样完成毗连的。

要在配合的属性上毗连三个表SUPPLIER,PART和SELLS,我们一般利用上面的语句:

SELECTS.SNAME,P.PNAMEFROMSUPPLIERS,PARTP,SELLSSEWHERES.SNO=SE.SNOANDP.PNO=SE.PNO;
而我们失掉的了局是:
SNAME|PNAME-------+-------Smith|ScrewSmith|NutJones|CamAdams|ScrewAdams|BoltBlake|NutBlake|BoltBlake|Cam



在FROM子句里,我们为每一个干系利用了一一般名,由于在这些干系间有着大众的定名属性(SNO和PNO)。如今我们能够辨别分歧表的大众定名属性,只必要复杂的用每一个干系的别号加上个点做前缀就好了。团结是用与一个外部连接里显现的一样的办法盘算的。起首算出笛卡儿积SUPPLIER
只想知道 该用户已被删除
沙发
发表于 2015-1-19 21:11:00 | 只看该作者
从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。
老尸 该用户已被删除
板凳
发表于 2015-1-28 10:45:31 | 只看该作者
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
蒙在股里 该用户已被删除
地板
发表于 2015-2-5 20:46:17 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
若相依 该用户已被删除
5#
发表于 2015-2-13 13:29:48 | 只看该作者
呵呵,这就是偶想说的
精灵巫婆 该用户已被删除
6#
发表于 2015-3-3 22:17:46 | 只看该作者
无法深入到数据库系统层面去了解和探究
爱飞 该用户已被删除
7#
发表于 2015-3-11 14:16:36 | 只看该作者
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
不帅 该用户已被删除
8#
发表于 2015-3-18 22:50:57 | 只看该作者
连做梦都在想页面结构是怎么样的,绝非虚言
谁可相欹 该用户已被删除
9#
发表于 2015-3-26 20:12:50 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-17 23:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表