常用SQL语句查询分享
--创建数据库(文件:主要数据文件mdf==1,次要数据文件ndf>=0,日志文件ldf>=1)
--文件组:当1mdf,5个ndf(1,2,2),10个ldf(3,3,4),将它们分成多个组存放
CREATEdatabasestudb;
--创建表teacher,student
createtableteacher ( tidint(10)primarykeyauto_increment, tnamevarchar(20), tageint(10) ); usestudb;
createtablestudent ( sidint(10)primarykeyauto_increment, snamevarchar(20), sageint(10), tidint(10)REFERENCESteacher(tid) );
--外键约束:你问张三的老师是谁??
--selectteacher.tnamefromteacher,studentwherestudent.sname='张三' selectt.tnamefromteachert,studentswheres.sname='张三'andt.tid=s.tid
--创建课程表
createtablecourse ( cidint(10)primarykey, cnamevarchar(20), tidint(10)REFERENCESteacher(tid) );
--创建分数表
createtablesc ( scidint(10)primarykey, sidint(10)REFERENCESstudent(sid), cidint(10)REFERENCEScourse(cid), scoreint(10) );
--联合查询:等值查询
--1..
selectc.cnamefromcoursec,students,scwheres.sname='小张' ands.sid=sc.sidandc.cid=sc.cid;
--2..
selectsnamefromstudents,coursec,scwherec.cname='android'andsc.score>=60 ands.sid=sc.sidandc.cid=sc.cid;
--3..
--子查询:当条件也要查询的时候,我只知道学号,我不知道"小张"这个字段,那你知道小张的学号吗
deletefromscwheresid=(selectsidfromstudentwheresname='小张');
--子查询中间的符号一定是父查询与子查询两张表关联的字段(一般是主外键)
--4..
updatescsetscore=score+5wherecid=????; selecttidfromteacherwheretname='李老师'==1 selectcnamefromcoursewheretid=1==课程名字,李老师教的 selectcidfromcoursewherecname='android'==课程ID updatescsetscore=score+5wherecid= ( selectcidfromcoursewherecname= ( selectcnamefromcoursewheretid= ( selecttidfromteacherwheretname='李老师' ) ) );