#
package org.abin.lee.json;
public class Employee { private String name="abin"; private double salary=1000; private String sex="M"; public String getName() { return name; } public void setName(String name) { this.name = name; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; }
}
package org.abin.lee.json;
import com.google.gson.Gson; import com.google.gson.GsonBuilder;
public class JsonTest { public static void main(String[] args) { GsonBuilder builder=new GsonBuilder(); Gson gson=builder.create(); String json1=gson.toJson(new Employee()); System.out.println("json1="+json1); Employee json2=gson.fromJson(json1, Employee.class); System.out.println("json2="+json2); System.out.println(json2.getName()); System.out.println(json2.getSalary()); System.out.println(json2.getSex()); System.out.println(json2.getClass()); }
}
开头是两个数字,然后中间有一个连接符,然后连接符-后面还有5位数字的正则 package org.litsoft.air.servlet;
import java.util.regex.Matcher; import java.util.regex.Pattern;
public class TestString { public static boolean isRight(String str){ boolean flag=false; String regex="^([0-9]{2}-[0-9]{5})+$"; Pattern pattern=Pattern.compile(regex); Matcher match=pattern.matcher(str); if(match.matches()){ flag=match.matches(); System.out.println(match.group()); } return flag; } public static void main(String[] args) { boolean flag=false; String str="24-99999"; flag=new TestString().isRight(str); System.out.println("flag="+flag); }
}
摘要: [正则表达式]文本框输入内容控制
默认分类 2009-02-13 10:10 阅读26 评论0 字号: 大大 中中 小小整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$只能输入数字:"^[0-9]*$"。只能输入n位的数字:"^\d{n}$"。只能输入至少n位的数字:"^\d{n... 阅读全文
package org.litsoft.air.servlet;
import java.util.regex.Matcher; import java.util.regex.Pattern;
public class TestUrl { private static final String Url = "http://localhost:7778/Spa/UnionPayServlet1?a1s2"; public static String result(String url){ String result=null; String regex="([^?]+$)"; Pattern pattern=Pattern.compile(regex); Matcher matcher=pattern.matcher(url); while(matcher.find()){ result=matcher.group(); } return result; } public static void main(String[] args) { String result=new TestUrl().result(Url); System.out.println("result="+result); }
}

开豪车挽LV 包的女人
耐心看的人早晚会成人上人
一、钱是给内行人赚的——世界上没有卖不出的货,只有卖不出的货的人。
二、想干的人永远在找方法,不想干的人永远在找理由;世界上没有走不通的路,只有想不通的 人
三、销售者不要与顾客争论价格,要与顾客讨论价值。
四、带着目标出去,带着结果回来,成功不是因为快,而是因为有方法。
五、没有不对的客户,只有不够的服务。
六、营销人的职业信念:要把接受别人拒绝作为一种职业生活方式。
七、客户会走到我们店里来,我们要走进客户心里去;老客户要坦诚,新客户要热情,急客户要速度,大客户要品味,小客户要利益。
八、客户需要的不是产品,而是一套解决方案,卖什么不重要,重要的是怎么卖。
九、客户不会关心你卖什么,而只会关心自己要什么。没有最好的产品,只有最合适的产品。
——————————————————————————————————————
一、关于修身修养
★相由心生,改变内在,才能改变面容。一颗阴暗的心托不起一张灿烂的脸。有爱心必有和气;有和气必有愉色;有愉色必有婉容。
★口乃心之门户。口里说出的话,代表心里想的事。心和口是一致的。
★一个境界低的人,讲不出高远的话;一个没有使命感的人,讲不出有责任感的话;一个格局小的人,讲不出大气的话。
★企业跟企业最后的竞争,是企业家胸怀的竞争,境界的竞争。
★看别人不顺眼,是自己的修养不够。
★有恩才有德,有德才有福,这就是古人说的"厚德载物"。
★人的一生就是体道,悟道,最后得道的过程。
★好人——就是没有时间干坏事的人。
★同流才能交流,交流才能交心,交心才能交易。
★同流等于合流,合流等于合心,合心等于交心。
——————————————————————————————————————
二、关于成功
★要想成功首先要学会"变态"——改变心态、状态、态度等。
★成功之道=思考力×行动力×表达力。
★许多不成功不是因为没有行动前的计划而是缺少计划前的行动。
★功是百世功,利是千秋利,名是万世名。
——————————————————————————————————————
三、关于团队
★什么是团队,看这两个字就知道,有口才的人对着一群有耳朵的人说话,这就是团队。
——————————————————————————————————————
四、关于沟通
★沟通必须从正见、正思维、正语、正精进、正念出发,才能取得一致有效的合作。中国人的沟通总是从家里开始的。
★高品质的沟通,应把注意力放在结果上,而不是情绪上,沟通从心开始。
★沟通有3个要素:文字语言、声音语言、肢体语言。文字语言传达信息,声音语言传达感觉,肢体语言传达态度。
★影响沟通效果有3个要素:场合、气氛和情绪。
★沟通的3个特征:行为的主动性,过程的互动性,对象的多样性。
★沟通的5个基本步骤:点头、微笑、倾听、回应、做笔记。
★沟通的5个心:喜悦心、包容心、同理心、赞美心、爱心。
★沟通是情绪的转移,信息的转移,感情的互动。沟通没有对错,只有立场。
★人际沟通,最忌讳的就是一脸死相。要学习《亮剑》中李云龙的笑。笑能改变自己,笑能给人以力量,笑能创造良好气氛,笑能带给他人愉悦,笑是成功的阶梯。
——————————————————————————————————————
五、关于得失
★放下才能承担,舍弃才能获得。心有多大,舞台就有多大。话说乾隆有一次在朝上放了个屁,台下的和珅脸就红了;乾隆很高兴,大臣们都以为是和珅放的;和珅很会为皇上"分忧解难",深得皇上信任。两百多年后的一天,秘书陪市长和局长参加一个会,在电梯里,市长不小心也放了个屁,为缓解"难堪",市长和局长都看了看秘书,这时,秘书沉不住气了,解释说"不是我放的"。第二天,市长就把秘书给辞了,秘书不解,市长说:你丫的屁大点的事都承担不了,留你何用?
★杀生是为了放生,吃肉是为了给植物放生。
——————————————————————————————————————
六、关于人才
★用人之长,天下无不用之人,用人之短,天下无可用之人。
★人才不一定有口才,但有口才的人一定是人才。在美国谁会讲话,谁口才好谁就当总统。
★怀才和怀孕是一样的,只要有了,早晚会被看出来。有人怀才不遇,是因为怀得不够大。
——————————————————————————————————————
七、关于学习成长
★知识是学来的,能力是练出来的,胸怀是修来的。
★不怕念起,就怕觉迟。
★我们要做到花钱三不眨眼:孝敬老人花钱不眨眼;为铁哥们花钱不眨眼;为了学习成长花钱不眨眼。
★*说过精通的目的全在于应用。不是知识就是力量,而是使用知识才是力量。
★*还说,三天不学习就赶不上刘少奇同志了。
★别人身上的不足,就是自己存在的价值。
★思考力是万力之源。
★一个人心智模式不好的话,就容易知识越多越*。
★一个人成不了大事,是因为朋友太少,朋友质量不高。
★你把经文放进脑子里,那是你给自己开光。
★最好的投资地方,是脖子以上。我们有多少人一生都把钱花在了脖子以下了。
你把《道德经》背下来,老子跟你一辈子。
你把《孙子兵法》背下来,武圣人跟你一辈子。
你把《论语》背下来,孔子曾子跟你一辈子。
你把《心经》、《金刚经》背下来,佛菩萨跟你一辈子。
★一个不懂传统文化的管理者能成为亿万身价的富豪,但永远不会成为真正的企业家。
★多花时间成长自己,少花时间去苛责别人嫉妒别人;
★如果你认为命不好,想改变命运最好的方法就是找个好命的人交朋友。
★08年以后谁不会讲中文就特别没档次了,08年是中文折磨英文的时候到了,奥运会开始,把所有的报幕都改成中文方式。我学外语是为了教外国人学中文,见到老外不要说:对不起,我英文不好,第一句话要说:你好,你会中文吗?
——————————————————————————————————————
八、关于聪明和愚笨
★最笨的人,就是出色的完成了根本不需要干的事。
★了解别人是精明,了解自己才是智慧。
★一个人心态要是不好的话,就容易聪明反被聪明误。
——————————————————————————————————————
九、关于孝道
★小孝治家,中孝治企,大孝治国。
★明天道,了人道,开启商道,你的人生才能带来圆融。
★种下一个善念,收获一种良知;种下一种良知,收获一种道德;种下一种道德,收获一种习惯;种下一种习惯,收获一种性格;种下一种性格,收获一种人生。
——————————————————————————————————————
十、关于营销
★销售不是卖,是帮助顾客买。
★所有营销在中国可用一个字"儒"来代替:儒{人 + 需};佛{人+ $}。
★企业只有营销才能实现利润,其他的都是成本,企业最大的成本就是不懂得营销的员工。
★让顾客连续认同你你就成功了。
★顾客不仅关心你是谁,他更关心你能给他带来什么好处。
★顾客不拒绝产品,他也不拒绝服务,他只拒绝平庸。
★拒绝是一种惯性,当顾客拒绝我们时,我们的工作才刚刚开始"。
——————————————————————————————————————
十一、关于金钱与财富
★不要活反了,生活本身就是财富。
★财散人聚,人聚财来。
★挣钱只有一个目的:就是花。钱少,自家的,多了,就是大家的,再多了,就是人民的,所以叫人民币。
★老说没有时间空间的人,这些人是最贫穷的人,最傻的人就知道把钱存在银行,银行是把不爱花钱的人的钱拿来,给爱花钱的人去花。
——————————————————————————————————————
十二、关于茶和酒
★郑板桥说:酒能乱性,所以佛戒之。酒能养性,所以仙家饮之。所以,有酒时学佛,没酒时学仙。
★万丈红尘三杯酒,千秋大业一壶茶。
——————————————————————————————————————
这么经典的日志,真的值得我们转载或者分享
收藏到自己的空间,有空的时候看看,真的能让你学到很多
—————————————————————————————————————

如果不喜欢以下音乐,请点击下面关闭后再欣赏。
——————本文完,小戀真心谢谢你的阅读,祝你开心度过每一天—————— |
//JDOM xml的生成 import java.io.ByteArrayOutputStream;
import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.output.XMLOutputter;
public class CreateJdom { public static String createXml(){ Element root=new Element("cupMobiles"); Document doc=new Document(root); Element cupMobile=new Element("cupMobile"); cupMobile.setAttribute("application", "UPNoCard"); cupMobile.setAttribute("version", "1.01"); root.addContent(cupMobile); Element transaction=new Element("transaction"); transaction.setAttribute("type","Purchase.PMReq"); cupMobile.addContent(transaction); Element submitTime=new Element("submitTime"); submitTime.setText("20111207111641"); transaction.addContent(submitTime); Element order=new Element("order"); order.setAttribute("id", "12347733"); transaction.addContent(order); Element merchant=new Element("merchant"); merchant.setAttribute("id","303290047228001"); transaction.addContent(merchant); Element accountNumber1=new Element("accountNumber1"); accountNumber1.setText("6224130665233518"); transaction.addContent(accountNumber1); Element transSerialNumber=new Element("transSerialNumber"); transSerialNumber.setText("201162"); transaction.addContent(transSerialNumber); Element billAmount =new Element("billAmount"); billAmount.setAttribute("currency","156"); billAmount.setText("000000030231"); transaction.addContent(billAmount); Element settleDate=new Element("settleDate"); settleDate.setText("20111208"); transaction.addContent(settleDate); ByteArrayOutputStream byteRsp=new ByteArrayOutputStream(); XMLOutputter xmlOut=new XMLOutputter(); try { xmlOut.output(doc, byteRsp); } catch (Exception e) { e.printStackTrace(); System.out.println(e.getMessage()); } return byteRsp.toString(); } public static void main(String[] args) { } }
//JDOM xml的生成的测试代码 import junit.framework.TestCase;
import org.junit.After; import org.junit.Before; import org.junit.Test;
public class CreateJdomTest extends TestCase{ @Before public void setUp(){} @After public void tearDown(){} @Test public void testCreateJdom(){ String result=new CreateJdom().createXml(); System.out.println(result); } }
//JDOM xml的解析以及解析的测试代码 import java.io.StringReader; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map;
import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; import org.xml.sax.InputSource;
public class ParseJdom { public static Map<String, String> parseXml(String xml) { Map<String, String> map = Collections .synchronizedMap(new HashMap<String, String>()); StringReader reader = new StringReader(xml); InputSource source = new InputSource(reader); SAXBuilder sax = new SAXBuilder(); try { Document doc = sax.build(source); Element root = doc.getRootElement(); // map.put(root.getName(), root.getValue()); // System.out.println("root=" + root.getName()); // System.out.println("root,s value=" + root.getValue()); Element cupMobile = null; cupMobile = root.getChild("cupMobile"); // map.put(cupMobile.getName(), cupMobile.getValue()); String application=cupMobile.getAttributeValue("application"); map.put("application", application); String version=cupMobile.getAttributeValue("version"); map.put("version", version);
Element transaction = null; transaction = cupMobile.getChild("transaction"); // map.put(transaction.getName(), transaction.getValue()); String type=transaction.getAttributeValue("type"); map.put("type", type);
Element submitTime = null; submitTime = transaction.getChild("submitTime"); map.put(submitTime.getName(), submitTime.getValue()); Element order = null; order = transaction.getChild("order"); // map.put(order.getName(), order.getValue()); String orderId=order.getAttributeValue("id"); map.put("orderId", orderId);
Element merchant = null; merchant = transaction.getChild("merchant"); // map.put(merchant.getName(), merchant.getValue()); String merchantId=merchant.getAttributeValue("id"); map.put("merchantId", merchantId);
Element accountNumber1 = null; accountNumber1 = transaction.getChild("accountNumber1"); map.put(accountNumber1.getName(), accountNumber1.getValue()); Element transSerialNumber = null; transSerialNumber = transaction.getChild("transSerialNumber"); map.put(transSerialNumber.getName(), transSerialNumber.getValue()); Element billAmount = null; billAmount = transaction.getChild("billAmount"); map.put(billAmount.getName(), billAmount.getValue()); String currency=billAmount.getAttributeValue("currency"); map.put("currency", currency); Element settleDate = null; settleDate = transaction.getChild("settleDate"); map.put(settleDate.getName(), settleDate.getValue()); } catch (Exception e) { e.printStackTrace(); System.out.println(e.getMessage()); } return map; }
public static void main(String[] args) { String xml = new CreateJdom().createXml(); Map<String, String> map = new ParseJdom().parseXml(xml); Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, String> entry = (Map.Entry<String, String>) it .next(); System.out.println("key=" + entry.getKey()); System.out.println("Value=" + entry.getValue()); }
} }
package org.litsoft.air.unionpay;
import java.io.ByteArrayOutputStream;
import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.output.XMLOutputter;
public class CreateJdom { /** * 生成支付宝需要的XML格式,自己模拟测试支付接口的异步返回结果 * @return */ public static String createXml(){ Element root=new Element("notify"); Document doc=new Document(root); Element trade_status=new Element("trade_status"); trade_status.setText("TRADE_FINISHED"); root.addContent(trade_status); Element total_fee=new Element("total_fee"); total_fee.setText("0.90"); root.addContent(total_fee); Element subject=new Element("subject"); subject.setText("123465"); root.addContent(subject); Element out_trade_no=new Element("out_trade_no"); out_trade_no.setText("1118060201-7555"); root.addContent(out_trade_no); Element notify_reg_time=new Element("notify_reg_time"); notify_reg_time.setText("2010-11-1814:02:43.000"); root.addContent(notify_reg_time); Element trade_no=new Element("trade_no"); trade_no.setText("2010111800209965"); root.addContent(trade_no); ByteArrayOutputStream byteRsp=new ByteArrayOutputStream(); XMLOutputter xmlOut=new XMLOutputter(); try { xmlOut.output(doc, byteRsp); } catch (Exception e) { e.printStackTrace(); System.out.println(e.getMessage()); } String temp=byteRsp.toString(); String result=temp.substring(temp.indexOf(">")+1, temp.length()); return result.trim(); // return byteRsp.toString(); } public static void main(String[] args) { CreateJdom jdom=new CreateJdom(); String result=jdom.createXml(); System.out.println(result); }
}
package org.litsoft.air.unionpay;
import java.io.StringReader; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map;
import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; import org.xml.sax.InputSource;
public class ParseJdom { /** * 解析XMl里面的每个字段 * @param xml * @return */ public static Map<String,String> parseXml(String xml){ Map<String,String> map=Collections.synchronizedMap(new HashMap<String,String>()); StringReader reader=new StringReader(xml); InputSource source=new InputSource(reader); SAXBuilder sax=new SAXBuilder(); try { Document doc=sax.build(source); Element root=doc.getRootElement(); System.out.println("root,s name="+root.getName()); System.out.println("root,s value="+root.getValue()); List node=root.getChildren(); Element element=null; for(int i=0;i<node.size();i++){ element=(Element)node.get(i); map.put(element.getName(), element.getValue()); } } catch (Exception e) { e.printStackTrace(); } return map; } public static void main(String[] args) { String xmlHeader="<"+"?"+"xml"+" version="+"\"1.0\""+" encoding="+"\"UTF-8\""+"?"+">"; CreateJdom jdom=new CreateJdom(); String result=jdom.createXml(); System.out.println("xmlHeader+result="+xmlHeader+result); Map<String,String> map=new ParseJdom().parseXml(xmlHeader+result); Iterator it=map.entrySet().iterator(); while(it.hasNext()){ Map.Entry<String, String> entry=(Map.Entry<String, String>)it.next(); System.out.println(entry.getKey()+" , "+entry.getValue()); } } }
create table dept ( deptno varchar(10) primary key, dname varchar(10) ); create table emp ( empno varchar(10) primary key, ename varchar(10), job varchar(10), mgr varchar(10), sal varchar(10), deptno varchar(10) references dept(deptno) ); drop table dept; drop table emp; insert into dept values ('1','事业部'); insert into dept values ('2','销售部'); insert into dept values ('3','技术部');
insert into emp values ('01','jacky','clerk','tom','1000','1'); insert into emp values ('02','tom','clerk','','2000','1'); insert into emp values ('07','biddy','clerk','','2000','1'); insert into emp values ('03','jenny','sales','pretty','600','2'); insert into emp values ('04','pretty','sales','','800','2'); insert into emp values ('05','buddy','jishu','canndy','1000','3'); insert into emp values ('06','canndy','jishu','','1500','3'); select * from dept; select * from emp;
1.列出emp表中各部门的部门号,最高工资,最低工资
select e.deptno ,max(sal) ,min(sal) from emp as e group by e.deptno;
解析:各部门 提示:分组查询,所以用group by
2 列出emp表中各部门job为'CLERK'的员工的最低工资,最高工资 select e.deptno ,max(sal) ,min(sal) from emp as e where e.job="CLERK" group by e.deptno;
解析:各部门 提示:分组查询, job提示:条件查询,所以用到 group by 和 where
3 对于emp中最低工资小于2000的部门,列出job为'CLERK'的员工的部门号,最低工资,最高工资
select b.deptno ,max(sal) ,min(sal) from emp as b where b.job="CLERK" and (select min(sal) from emp as a where a.deptno=b.deptno)<2000 group by b.deptno;
解析:以上面两个题为基础,“emp中最低工资小于2000的部门”只是一个条件而已。
4 据部门号由高而低,工资有低而高列出每个员工的姓名,部门号,工资
select * from emp as b order by b.deptno desc ,b.sal asc;
解析:“部门号由高而低,工资有低”提示:需要排序,所以用到 order by 和 desc asc
5 列出'buddy'所在部门中每个员工的姓名与部门号
select * from emp as b where b.deptno=(select a.deptno from emp as a where a.ename="buddy");
解析:“'buddy'所在部门”提示找出他所在的部门号,所以可以理解“找出所有和buddy在同一部门的所有人”
6 列出每个员工的姓名,工作,部门号,部门名
select ename,job,dept.deptno,dept.dname from emp,dept where emp.deptno=dept.deptno;
7 列出emp中工作为'CLERK'的员工的姓名,工作,部门号,部门名
select ename,job,dept.deptno,dept.dname from emp,dept where emp.deptno=dept.deptno where job="CLERK";
8 对于emp中有管理者的员工,列出姓名,管理者姓名(管理者外键为mgr)
select a.deptno,a.ename ,b.ename from emp as a,emp as b where a.mgr is not null and a.mgr=b.ename;
解析:本句可以理解“一个员工他也是领导,所以emp.ename,emp.mgr 都有值并且有相等的员工”
9 对于dept表中,列出所有部门名,部门号,同时列出各部门工作为'CLERK'的员工名与工作
select a.deptno ,a.dname, b.ename ,b.job from dept as a,emp as b where a.deptno=b.deptno and b.job="clerk";
解析:连表即可
http://blog.csdn.net/shiyuntian_wang/article/details/4636799
建表: DEPARTMENTS: DEPARTMENT_ID(primary key), DEPARTMENT_NAME, LOCATION EMPLOYEES: EMPLOYEE_ID(primary key), EMPLOYEE_NAME, EMPLOYEE_JOB, MANAGER, SALARY, DEPARTMENT_ID
- 列出EMPLOYEES表中各部门的部门号,最高工资,最低工资
select max(SALARY) as 最高工资,min(SALARY) as 最低工资,DEPARTMENT_ID from EMPLOYEES group by DEPARTMENT_ID; - 列出EMPLOYEES表中各部门EMPLOYEE_JOB为'CLERK'的员工的最低工资,最高工资
select max(SALARY) as 最高工资,min(SALARY) as 最低工资,DEPARTMENT_ID as 部门号 from EMPLOYEES where EMPLOYEE_JOB = 'CLERK' group by DEPARTMENT_ID; - 对于EMPLOYEES中最低工资小于1000的部门,列出EMPLOYEE_JOB为'CLERK'的员工的部门号,最低工资,最高工资
select max(SALARY) as 最高工资,min(SALARY) as 最低工资,DEPARTMENT_ID as 部门号 from EMPLOYEES as b where EMPLOYEE_JOB ='CLERK' and 1000>(select min(SALARY) from EMPLOYEES as a where a.DEPARTMENT_ID = b.DEPARTMENT_ID) group by b.DEPARTMENT_ID - 根据部门号由高而低,工资有低而高列出每个员工的姓名,部门号,工资
select DEPARTMENT_ID as 部门号,EMPLOYEE_NAME as 姓名,SALARY as 工资 from EMPLOYEES order by DEPARTMENT_ID desc,SALARY asc - 列出'张三'所在部门中每个员工的姓名与部门号
select EMPLOYEE_NAME,DEPARTMENT_ID from EMPLOYEES where DEPARTMENT_ID = (select DEPARTMENT_ID from EMPLOYEES where EMPLOYEE_NAME = '张三') - 列出每个员工的姓名,工作,部门号,部门名
select EMPLOYEE_NAME,EMPLOYEE_JOB,EMPLOYEES.DEPARTMENT_ID,DEPARTMENTS.DEPARTMENT_NAME from EMPLOYEES,DEPARTMENTS where EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID - 列出EMPLOYEES中工作为'CLERK'的员工的姓名,工作,部门号,部门名
select EMPLOYEE_NAME,EMPLOYEE_JOB,DEPARTMENTS.DEPARTMENT_ID,DEPARTMENT_NAME from EMPLOYEES,DEPARTMENTS where DEPARTMENTS.DEPARTMENT_ID = EMPLOYEES.DEPARTMENT_ID and DEPARTMENT_JOB = 'CLERK' - 对于EMPLOYEES中有管理者的员工,列出姓名,管理者姓名(管理者外键为MANAGER)
select a.EMPLOYEE_NAME as 姓名,b.EMPLOYEE_NAME as 管理者 from EMPLOYEES as a,EMPLOYEES as b where a.MANAGER is not null and a.MANAGER = b.EMPLOYEE_ID - 对于DEPARTMENTS表中,列出所有部门名,部门号,同时列出各部门工作为'CLERK'的员工名与工作
select DEPARTMENT_NAME as 部门名,DEPARTMENTS.DEPARTMENT_ID as 部门号,EMPLOYEE_NAME as 员工名,EMPLOYEE_JOB as 工作 from DEPARTMENTS,EMPLOYEES where DEPARTMENTS.DEPARTMENT_ID *= EMPLOYEES.DEPARTMENT_ID and EMPLOYEE_JOB = 'CLERK' - 对于工资高于本部门平均水平的员工,列出部门号,姓名,工资,按部门号排序
select a.DEPARTMENT_ID as 部门号,a.EMPLOYEE_NAME as 姓名,a.SALARY as 工资 from EMPLOYEES as a where a.SALARY>(select avg(SALARY) from EMPLOYEES as b where a.DEPARTMENT_ID = b.DEPARTMENT_ID) order by a.DEPARTMENT_ID - 对于EMPLOYEES,列出各个部门中平均工资高于本部门平均水平的员工数和部门号,按部门号排序
select count(a.SALARY) as 员工数,a.DEPARTMENT_ID as 部门号 from EMPLOYEES as a where a.SALARY>(select avg(SALARY) from EMPLOYEES as b where a.DEPARTMENT_ID = b.DEPARTMENT_ID) group by a.DEPARTMENT_ID order by a.DEPARTMENT_ID - 对于EMPLOYEES中工资高于本部门平均水平,人数多与1人的,列出部门号,人数,按部门号排序
select count(a.EMPLOYEE_ID) as 员工数,a.DEPARTMENT_ID as 部门号,avg(SALARY) as 平均工资 from EMPLOYEES as a where (select count(c.EMPLOYEE_ID) from EMPLOYEES as c where c.DEPARTMENT_ID = a.DEPARTMENT_ID and c.SALARY>(select avg(SALARY) from EMPLOYEES as b where c.DEPARTMENT_ID = b.DEPARTMENT_ID))>1 group by a.DEPARTMENT_ID order by a.DEPARTMENT_ID - 对于EMPLOYEES中低于自己工资至少5人的员工,列出其部门号,姓名,工资,以及工资少于自己的人数
select a.DEPARTMENT_ID,a.EMPLOYEE_NAME,a.SALARY,(select count(b.EMPLOYEE_NAME) from EMPLOYEES as b where b.SALARY < a.SALARY) as 人数 from EMPLOYEES as a where (select count(b.EMPLOYEE_NAME) from EMPLOYEES as b where b.SALARY<a.SALARY)>5
http://blog.sina.com.cn/s/blog_4979ec3e0100r574.html
|