资源描述:
《SQL常用基础知识的应用示例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、--创建表CREATETABLEDEPT(DIDCHAR(3)PRIMARYKEY,DNAMEVARCHAR(30)NOTNULL,ADRVARCHAR(50))CREATETABLEEMP(EIDCHAR(6)PRIMARYKEY,ENAMECHAR(30)NOTNULL,DIDCHAR(3),SALINT,FOREIGNKEY(DID)REFERENCESDEPT(DID))--删除表DROPTABLEEMPDROPTABLEDEPT--注意创建和删除表的顺序--插入数据INSERTINTODEPTVALUES('00
2、1','销售部','青岛')INSERTINTODEPTVALUES('002','科技部','北京')INSERTINTODEPTVALUES('003','生产部','上海')INSERTINTOEMPVALUES('0001','张三','001',2000)INSERTINTOEMPVALUES('0002','李四','001',2500)INSERTINTOEMPVALUES('0011','王五','002',3000)INSERTINTOEMPVALUES('0012','赵六','002',2800)IN
3、SERTINTOEMPVALUES('0013','老七','002',3200)INSERTINTOEMPVALUES('0031','小八','003',2600)INSERTINTOEMP(EID,ENAME,DID)VALUES('0032','小久','003')INSERTINTOEMP(EID,ENAME,SAL)VALUES('0000','老大',10000)--结果:--查询SELECT*FROMDEPTSELECT*FROMEMP--1SELECT*FROMEMPWHERESALBETWEEN2500
4、AND3200--2SELECT*FROMEMPWHERESAL>=2500ANDSAL<3200--注意1和2的区别SELECTENAME'姓名',SAL'工资'FROMEMPWHEREEIDLIKE'001%'--多表查询SELECT*FROMEMP,DEPT--笛卡尔积SELECTE.ENAME,D.DNAME,E.DIDFROMEMPE,DEPTDWHEREE.DID=D.DID--等值连接SELECT*FROMEMPELEFTJOINDEPTD--左外连接ONE.DID=D.DIDSELECT*FROMEMPER
5、IGHTJOINDEPTD--右外连接ONE.DID=D.DIDSELECT*FROMEMPEFULLJOINDEPTD--全外连接ONE.DID=D.DID--单行函数SELECTSUM(SAL)'总工资'FROMEMPGROUPBYDIDHAVINGDID='002';SELECTAVG(SAL)'平均工资'FROMEMPSELECTMAX(SAL)'最高工资'FROMEMPSELECTMIN(SAL)'最低工资'FROMEMPSELECTCOUNT(*)'总员工数'FROMEMP;--添加主键,主键值应为非空CREA
6、TETABLEC(CIDCHAR(3)NOTNULL)ALTERTABLECADDPRIMARYKEY(CID)--创建和删除索引CREATEINDEXEMP_IDXONEMP(EID)DROPINDEXEMP.EMP_IDX--创建和删除视图CREATEVIEWEMP_VIEWAS(SELECT*FROMEMP)DROPVIEWEMP_VIEW--复制表,复制了表的结构但没复制表的约束--1SELECT*INTOBBFROMEMPWHERE1<>1--只复制表的结构SELECT*INTOBBFROMEMP--复制整个表,
7、包括表的数据内容--2--拷贝表,只将表中的数据复制到另一个表中,对应的数据结构应相同,和1连用INSERTINTOBB(EID,ENAME)SELECTEID,ENAMEFROMEMP--IN的使用SELECTEID,ENAMEFROMEMPWHEREDIDIN(SELECTDIDFROMDEPT)SELECTEID,ENAMEFROMEMPWHEREDIDIN('001','002')SELECTEID,ENAMEFROMEMPWHEREDIDNOTIN('001','002')ORDIDISNULL--ORDERBY
8、的使用,NULL按最小算SELECT*FROMEMPORDERBYEIDSELECT*FROMEMPORDERBYEIDDESCSELECT*FROMEMPORDERBYDID