乐观 发表于 2015-1-16 22:35:08

MYSQL教程之周全打仗SQL语法(5)

如IBM公司最近宣布让渠道合作伙伴分销其SaaS应用程序的新计划。微软认为MySQL学习教程是销售其云计算服务的重要组成部分。然而即使有这种趋势,DBaaS仍然不同于内部数据库,解决方案提供商必须认识到这一点;否则,他们不仅仅是丢失几个客户,而是要失去的更多。sql语法BETWEEN...AND运算符

  决意某一人数值是不是介于特定的局限以内,此运算符只能够用在SQL的语句中。


exprBETWEENvalue1ANDvalue2
expr
指定要加以盘算的字段与表达式的组合。
value1,value2
所指明的数值局限。
比方:
如果要从人员表格查询出一切岁数介于25-30岁的员工,能够使用上面的程序来做。
SELECT姓名,岁数BETWEEN25AND30
FROM人员表格;


 
  LIKE操纵数

  用来将一字符串与另外一特定字符串款式(pattern)对照,并将切合该字符串款式的纪录过滤出来。


expressionLIKE"pattern"
expression
利用在WHERE前提子句,SQL表达式。
pattern
用以对照的字符串款式。
比方:
如果你要查询出一切以“李”为首的姓氏,能够使用上面的式子。
Like"李*"
LIKE操纵数的多种典范:
1、多个字符:
(1)"a*a"
可选择:"aa","aBa","aBBBa",不克不及选择:"aBC"
(2)"*ab*"
可选择:"abc","AABB","Xab",不克不及选择:"aZb","bac"
2、特别字符:
"a“*”a"
可选择:"a*a",不克不及选择:"aaa"
3、单一字符:
"a?a"
可选择:"aaa","a3a","aBa",不克不及选择:"aBBBa"
4、单一数字:
"a#a"
可选择:"a0a","a1a","a2a",不克不及选择:"aaa","a10a"
5、字符局限:
"“a-z”"
可选择:"f","p","j",不克不及选择:"2","&"
6、指定字符之外部局限:
"“!a-z”"
7、指定非数字:
"“!0-9”"
可选择:"A","a","&","~",不克不及选择:"0","1","9"
8、组合式布局:
"a“!b-m”#"
可选择:"An9","az0","a99",不克不及选择:"abc","aj0"



  SQL数字函数

  1、AVG:算数均匀数

  AVG(expr)

  expr

  字段称号或表达式。


  比方:

  若要盘算人员身崇高高贵过165厘米的人员均匀身高,能够使用上面的SQL语句来完成。

  SELECTAvg(身高)

  AS均匀身高

  FROM人员表格WHERE身高>165;

  2、COUNT:盘算纪录条数

  COUNT(expr)

  expr


  字段称号或表达式。

  比方:

  如果要统计出营业部门的人员人数,并查询出人员的姓名,能够使用上面的程序。

  SELECTCount(姓名)AS人员姓名

  FROM人员表格

  WHERE部门称号=营业部;

  3、FIRST与LAST:前往某字段的第一条数据与最初一条数据。

  FIRST(expr)


  LAST(expr)

  expr

  字段称号或表达式。

  比方:

  如果要找出货物数目字段的第一条数据与货物代价字段的最初一条数据时,能够使用上面的查询体例。

  SELECTFIRST(货物数目),LAST(货物代价)


  FROM定单表格

  4、MAX,与MIN:前往某字段的最年夜值与最小值。

  用法同FIRST与LAST。

  5、SUM:前往某特定字段或是运算的总和数值。

  SUM(expr)

  expr

  字段称号或表达式。


  比方:

  要盘算出货物总价,可以使用上面的程序。


  SELECT

  Sum(单元代价*货物数目)

  AS货物总价FROM定单表格

  多层SQL查询

  望文生义,多层的SQL查询的便在于:“在一个SQL语句中能够包括另外一个SQL查询语句,构成外部嵌套的查询范例。”

comparison(sqlstatement)
expressionIN(sqlstatement)
EXISTS(sqlstatement)
comparison
将表达式与内层查询的了局对照的操纵。
expression
对内层查询的了局作搜刮的表达式。
sqlstatement
为SELECT语句组成的SQL查询,必需用()将该语句括起来。



  比方:

  我们先从定单表格傍边,查询出一切的单元,再将产物表格中的单元与的逐一对照,查询出一切高于定单表格的单元代价的纪录。

  SELECT*FROM产物表格

  WHERE单元代价>ANY(SELECT单元代价FROM定单表格WHERE扣头>=.25);
WindowsAzureSQLDatabase并不支持数据压缩和表分区之类的功能,而且SQLDatabase支持的Transact-SQL语言只是完整版的一部分。另外,因为解决方案提供商不能控制物理资源,所以他们不能将数据文件和索引分配给特定的硬件。

再现理想 发表于 2015-1-24 16:45:52

呵呵,这就是偶想说的

小魔女 发表于 2015-2-2 11:04:48

发几份SQL课件,以飨阅者

小妖女 发表于 2015-2-7 18:40:06

对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。

简单生活 发表于 2015-2-22 22:55:31

但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。

活着的死人 发表于 2015-3-7 04:06:00

varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。

莫相离 发表于 2015-3-14 11:43:01

这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。

飘灵儿 发表于 2015-3-21 05:27:59

还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
页: [1]
查看完整版本: MYSQL教程之周全打仗SQL语法(5)