`
文章列表
我们可以在一个 SQL 语句中放入另一个 SQL 语句。当我们在 WHERE 子句或 WHERE 子句或 HAVING 子句中插入另一个 SQL 语句时,我们就有一个 subquery 的架构。 Subquery 的作用是什么呢?第一,它可以被用来连接表格。另外,有的时候 subquery 是唯一能够连接两个表格的方式。 Subquery 的语法如下: SELECT "栏位1" FROM "表格" WHERE "栏位2" [比较运算素] (SELECT "栏位1" FROM "表格"WHE ...

外链接

之前我们看到的左连接 (left join),又称内部连接 (inner join)。在这个情况下,要两个表格内都有同样的值,那一笔资料才会被选出。那如果我们想要列出一个表格中每一笔的资料,无论它的值在另一个表格中有没有出现,那该怎么办呢?在这个时候,我们就需要用到 SQL OUTER JOIN (外部连接) 的指令。 外部连接的语法是依数据库的不同而有所不同的。举例来说,在 Oracle 上,我们会在 WHERE 子句中要选出所有资料的那个表格之后加上一个 "(+)" 来代表说这个表格中的所有资料我们都要。 假设我们有以下的两个表格: Store_ ...

内连接

现在我们介绍连接(join)的概念。要了解连接,我们需要用到许多我们之前已介绍过的指令。 我们先假设我们有以下的两个表格, Store_Information 表格 store_name Sales Date Los Angeles $1500 Jan-05-1999 San Diego $250 Jan-07-1999 Los Angeles $300 Jan-08-1999 Boston $700

having 子句

那我们如何对函数产生的值来设定条件呢?举例来说,我们可能只需要知道哪些店的营业额有超过 $1,500。在这个情况下,我们不能使用 WHERE 的指令。那要怎么办呢?很幸运地,SQL 有提供一个 HAVING 的指令,而我们就可以用这个指令来达到这个目标。 HAVING 子句通常是在一个 SQL 句子的最后。一个含有 HAVING 子句的 SQL 并不一定要包含 GROUP BY 子句。HAVING 的语法如下: SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1" ...

group by

我们现在回到函数上。记得我们用 SUM 这个指令来算出所有的 Sales (营业额)吧!如果我们的需求变成是要算出每一间店 (store_name) 的营业额 (sales),那怎么办呢?在这个情况下,我们要做到两件事:第一,我们对于 store_name 及 Sales 这两个栏位都要选出。第二,我们需要确认所有的 sales 都要依照各个 store_name 来分开算。这个语法为: SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1" 在我们的示范上, ...

count 函数

COUNT 是函数之一。由于它的使用广泛,我们在这里特别提出来讨论。基本上,COUNT 让我们能够数出在表格中有多少笔资料被选出来。它的语法是: SELECT COUNT("栏位名") FROM "表格名" 举例来说,若我们要找出我们的示范表格中有几笔 store_name 栏不是空白的资料时, Store_Information 表格 store_name Sales Date Los Angeles $1500 Jan-05-1999 San Diego $250 Jan-07-1 ...

order by

到目前为止,我们已学到如何藉由 SELECT 及 WHERE这两个指令将资料由表格中抓出。不过我们尚未提到这些资料要如何排列。这其实是一个很重要的问题。事实上,我们经常需要能够将抓出的资料做一个有系统的显示。这可能是 ...

sql like

LIKE 是另一个在 WHERE 子句中会用到的指令。基本上,LIKE 能让我们依据一个套式 (pattern) 来找出我们要的资料。相对来说,在运用 IN 的时候,我们完全地知道我们需要的条件;在运用 BETWEEN 的时候,我们则是列出一个范围。 LIKE 的语法如下: SELECT "栏位名" FROM "表格名" WHERE "栏位名" LIKE {套式} {套式} 经常包括野卡 (wildcard). 以下是几个例子: 'A_Z': 所有以 'A' 起头,另一个任何值的字原,且以 'Z' 为结尾的字串。 'AB ...

sql in

在 SQL 中,在两个情况下会用到 IN 这个指令;这一页将介绍其中之一━━与 WHERE 有关的那一个情况。在这个用法下, 我们事先已知道至少一个我们需要的值,而我们将这些知道的值都放入 IN 这个子句。 IN 指令的语法为下: SELECT "栏位名" FROM "表格名" WHERE "栏位名" IN ('值一', '值二', ...) 在括弧内可以有一或多个值,而不同值之间由逗点分开。值可以是数目或是文字。 若在括弧内只有一个值,那这个子句就等于 WHERE "栏位名" = '值一' 举例来说 ...
从今天开始开始记工作日志了
##*********************自定义log4j配置*******************************##### copy by MSY ### ### 设置根Logger级别INFO ,输出地MSY,MSY2 ##log4j.rootLogger=DEBUG,MSY,MSY2设置com.hcinfo.velocity域对应的级别INFO,DEBUG,WARN,ERROR和输出地MSY,MSY2 log4j.category.com.hcinfo.velocity=DEBUG### 定义stdout的输出到控制断 ####log4j.appender.MSY=org. ...
在Struts API中,org.apache.struts.action.RequestProcessor类真正包含了Struts控制器在处理servlet请求时所遵循的控制逻辑。控制器核心组件ActionServlet就是通过调用RequestProcessor对象的process()方法来委托其处理客户端请求的,该方法格式如下: public void process(public void process( javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse ...
今天来讲解一下Struts原理: 使用Struts开发的时候,只需要关注两类组件:Action Bean组件和Form Bean组件。这样还不够,还需要了解Struts核心组件和内部原理,才能保证我们在编写Struts应用时轻松解决各种问题。 Struts核心组件和运行过程: Struts应用中包含3个组件:控制器组件、模型组件个视图组件,控制器组件包括ActionServlet(核心控制器)、自定义Action(代表一个用户操作)。模型组件包括定义和实现业务逻辑的接口和类。视图组件包括JSP页面、ActionForm和Struts标签。 下面结合struts的运行过程介绍struts核 ...

Never give up

丘吉尔最精彩的演讲,也是最后一次演讲。 在剑桥大学毕业典礼上万人齐聚一起等待丘的到来。一会儿,丘慢慢走上台,脱下大衣,摘下帽子,默默的注视所有听众。过了一分钟,他讲道:“永不放弃!”接着他穿上大衣戴上帽子,离开了,这时会场鸦雀无声,又一分钟后,掌声雷动。永不放弃的两个原则:第一,永不放弃;第二,当你想放弃时,回头看第一个原则。 丘吉尔身为总统,他却说:人民能够在广场上自由地发表言论,漫骂总统和政府,这是社会进步的表现。2.“没有永远的朋友,只有永远的利益”——丘吉尔[英国首相]3.勇气很有理由被当作人类德性之首,因为这种德性保证了所有其余德性。4.高尚、伟大的代价就是责任。5.勇气是 ...
native2ascii ApplicationResources.properties -encoding gb2312 ApplicationResource1s.properties Java的默认编码方式是UNICODE 这种方法就是把原来的编码方式改成java默认的编码方式。这样就可以在别的java程序中使用,而不会出现乱码了,这是我理解的,如果有什么不对的,希望大家指正!
Global site tag (gtag.js) - Google Analytics