#
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 = " 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
|