sql有哪些常用的英文词汇及意思?

1.SELECT:查询数据,也可用于变量赋值

2CREATE:创建

3DROP:删除

4.ALTER:编辑

5INSERT:插入

6.更新:更新

7。
、DELETE:删除

8.授予:允许

9。
revoke:撤销权限

扩展信息

语法

SQL语言分为几个元素,包括:

1.子句是语句和查询的组成部分。
(在某些情况下,这些是可选的。
)[14]

2。
可以生成任何标量值或由列和行组成的数据库表的表达式

3.三值SQL逻辑(3VL)(真/假/未知)的条件或应评估的布尔真值,并限制语句和查询的效果,或更改程序的流程。

4.根据特定条件查询、检索数据。
这是SQL的重要组成部分。

5.指令可以永久影响模式和数据,还可以控制数据库事务、程序流、连接、会话或诊断。

6.SQL语句还包含分号(“;”)。
尽管并非所有平台都需要它,但它被定义为SQL语法的标准元素。

7.SQL语句和查询中的空格通常会被忽略,从而更容易格式化SQL代码以便于阅读。

各种数据库的标准化SQL方言通常不可移植,特别是在日期时间语法、字符串连接、NULL和对中断比较的感性方面。
只有PostgreSQL和MimerSQL尝试遵守该标准。
Oracle数据库的DATE行为类似于DATETIME,但没有TIME类型)。

SQL分别于1986年和1987年分别由ANSI和ISO标准化。
由ISO/IECJTC1、信息技术、SC32数据管理和交换小组委员会维护。
标准名称通常具有以下模式:ISO/IEC9075-n:yyyyPartn:标题。

软件测试常用SQL语句总结,快来看

软件测试中常用的SQL语句概述

1.数据定义语言(DDL)

创建和管理数据库结构操作库:定义、创建、修改表数据库操作:创建、修改、删除表结构

2.数据操作语言(DML))

管理数据的增删改查操作插入:`INSERTINTO`语句删除:`DELETE`语句修改:`UPDATE`语句

3.基本查询和高级查询技巧排序:使用多个条件时,`ORDERBY`按特定规则聚合功能:统计列值,如COUNT()、SUM()、AVG()等。
分组查询:`GROUPBY`配合聚合函数查询分组数据:`LIMIT`用于设置。
连接查询以在每个页面上显示数据。
 :内连接、外连接,如隐式和显式内连接。
子查询:嵌套查询,应用单行/多行/多列数据

4.数据控制语言(DCL)

用户管理和权限控制,授予和撤销删除用户的权限

上述SQL语言是软件测试中不可缺少的一部分,掌握它可以有效提高测试效率。
对于测试工程师来说,掌握这些知识可以方便更深入的系统测试和数据验证。
对于自学或职业发展,以下资源可能有用:

项目源码及环境包测试文档模板自动化测试教程面试FAQ合集Python/Java测试文档实用接口测试视频教程

如果你有有任何疑问或需要更多资源,欢迎加入交流群以获得专家支持和解答。

常见的SQL语句有哪些

(1)更新数据记录:sql="更新数据表集字段名=字段值where条件表达式"sql="更新数据表集字段1=值1,字段2=值2...字段n=值nwhere条件表达式"(2)添加一条数据记录:sql="insertinto数据表(字段1,字段2,字段3...)值(值1、值2、值3...)"sql="insertintotargetdatatableselect*fromsourcedatatable"(将源数据表中的记录添加到目标数据表中)(3)删除数据记录:sql="deletefromdatatablewhich条件表达式"sql="deletefromdatatable"(删除数据表中的所有记录)(4)过滤数据记录:sql="select*from数据表where字段名=按字段名排序的字段值[desc]"sql="select*from数据表哪一个字段名像'%字段值%'orderby字段名[desc]"sql="selecttop10*from数据表哪个字段名orderby字段名[desc]"sql="select*from数据表哪个字段名in('value1','value2','value3')"sql="select*fromdatatablewhichfieldnamebetweenvalue1andvalue2"(5)数据表的创建和删除:CREATETAB数据表名称LE(字段1类型1(长度),字段2类型2(长度)...)示例:CREATETABLEtab01(namevarchar(50),datetimedefaultnow())数据表名称DROPTABLE(永久删除一个数据表)(6)数据记录统计功能:AVG(字段名)获取表列平均值COUNT(*|字段名)统计数据行数或统计某一列MAX中有值的数据行数(字段名称)获取表列的最大值MIN(字段名称)获取表列的最小值SUM(字段名称)添加要引用的数据列的值上述函数:sql=“selectsum(字段名)as数据表别名where条件表达式”setrs=conn.excute(sql)使用rs(“别名”)获取统计值,d其他函数使用方法与上面相同。
(6)从要复制的表名中将数据库表select*复制到新表名中,其中1=2。
完全复制where1=2,直接drop即可(7)从某表中删除一列altertablebankbilldropcolumnzslaltertablexxalter/add/dropcolumnxx(8)模糊查询Sql="selecttop10*from数据表which字段名orderby字段名[desc]"查找从Sql数据库中取出前10条记录=“selecttopn*form数据表orderbynewid()”方法随机检索数据库topn中的多条记录,要检索n条记录数Sql="select*fromdatatablewherefieldnameisin('value1','value2','value3')"

数据库常用sql语句有哪些

数据库中常用的SQL语句有哪些

什么是SQL语句?SQL语句的种类和数量很多,经常使用的语句也很多,下面我将常用的SQL语句分享给大家,仅供参考!

学生表(S#,Sname,Sage,Ssex)

课程表(C#,Cname,T#)

SC(S#,C#,分数)分数表

教师表(T#,Tname)教师

问题:

1.询问课程“001”比“002”学生号全部课程成绩高的学生;

select.S#from(selects#,scorefromSCwhereC#='001')a,(selects#,score

fromSCwhereC#='002')b

b.scoreanda.s#=b.s#;

【2.查询学生人数及平均成绩在60以上的学生的平均成绩点;

【selectS#,avg(score)

【来自

60;

​3.查询所有学生的学号、姓名、所修课程数及总成绩;

selectStudent.S#,Student.Sname,count(SC.C#),sum(得分)

fromStudentleftOuterjoinSConStudent.S#=SC.S#

groupbyStudent.S#,Sname

4.询问姓“李”的教师人数;

selectcount(distinct(Tname))

fromTeacher

whereTnamelike'李%';

5.未学过“叶平”老师班的学生提问学号、姓名;

selectStudent.S#,Student.Sname

fromStudent

【whereS#notin(selectdistinct(SC.S#)fromSC,Curse,TeacherwhereSC.C#=Course.C#andTeacher.T#=Course.T#andTeacher.Tname='叶平');

6.查询学习到“001”,同时也学习到数字“002”该课程学生的学号和姓名;

selectStudent.S#,Student.SnamefromStudent,SCwhereStudent.S#=SC.S#andSC.C#='001'andexists(Select*fromSCasSC_2whereSC_2.S#=SC.S#andSC_2.C#='002');

7询问学过“叶平”教授的所有课程的学生的学号和姓名;

selectS#,Sname

【fromStudents

【whereS#in(selectS#fromSC,Course,TeacherwhereSC.C#=Course.C#andTeacher.T#=Course.T#andTeacher.Tname='YePing'groupbyS#havingcount(SC.C#)=(selectcount(C#)fromCourse,TeacherwhereTeacher.T#=Course.T#andTname='叶萍'));

8课号“002”的分数比题课号“001”是所有课程较低的学生的学号和姓名;

SelectS#,Snamefrom(selectStudent.S#,Student.Sname,分数,(selectscorefromSCSC_2whereSC_2.S#=Student.S#andSC_2.C#='002')score2

fromStudent,SCwhereStudent.S#=SC.S#andC#='001')S_2wherescore2

9.询问所有课程成绩低于60分的学生的学号和姓名;

​selectS#,姓名

​fromStudent

60);

10、询问未学完所有课程的学生的学号和姓名;

【selectStudent.S#,Student.Sname

fromStudent,SC

p

其中Student.S#=SC.S#groupbyStudent.S#,Student.Snamehavingcount(C#)<(selectcount(C#)fromCourse);

11、查询至少一门学号为“1001”的课程同班同班同学的学号和姓名;

selectS#,SnamefromStudent,SCwhereStudent.S#=SC.S#andC#inselectC#fromSCwhereS#='1001';

12.向其他至少修过一门课程的学生询问学号为“001”的学生学号和姓名;

selectdistinctSC.S#,Sname

fromStudent,SC

whereStudent.S#=SC.S#andC#in(selectC#fromSCwhereS#='001');

13将“叶子”放入“.SC表》将“平”老师所教班级的成绩换算为该课程的平均成绩;

updateSCsetscore=(selectavg(SC_2.score)

fromSCSC_2

whereSC_2.C#=SC.C#)fromCourse,TeacherwhereCourse.C#=SC.C#andCourse.T#=Teacher.T#andTeacher.Tname='YePing');

14.查询和​​“1002&rd”编号为quo的学生正在与另一个编号为quo的学生学习同一门课程相同的学号和姓名;

selectS#fromSCwhereC#in(selectC#fromSCwhereS#='1002')

groupbyS#havingcount(*)=(selectcount(*)fromSCwhereS#='1002');

15、删除SC学习老师的课表记录“是”Ping";

​从课程、教师中删除SC

​来自课程、老师

​whereCourse.C#=SC.C#andCourse。
T#=Teacher.T#andTname='叶平';

16、在该SC表中插入一些记录必须满足以下条件:无选修编号为“003”的课程的学生的平均成绩",2,

;

InsertSCselectS#,'002',(Selectavg(分数)

​fromSCwhereC#='002')fromStudentwhereS#notin(SelectS#fromSCwhereC#='002');

17、显示“数据库”、“企业管理”三门课程所有学生的成绩“英语”按平均分从高到低排列,形式如下:学号、数据库、工商管理、英语、有效课程数、有效平均分

SELECTS#as学生ID

,(SELECTscoreFROMSCWHERESC.S#=t.S#ANDC#='004')美国数据库

,(SELECTscoreFROMSCWHERESC.S#=t.S#ANDC#='001')美国商业管理

<,(SELECTscoreFROMSCWHERESC.S#=t.S#ANDC#='006')美国英语

<,COUNT(*)AS有效课程数,AVG(t.score)AS平均分

【FROMSCASt

【GROUPBYS#

【ORDERBYavg(t.score)

【18.询问各科最高分和最低分:以如下形式显示:课程ID、最高分、最低分

SELECTL.C#As课程ID、L.scoreAS得分最高,R.scoreAS得分最低

来自SCL、SCASR

WHEREL.C#=R.C#and

L.score=(SELECTMAX(IL.score)

来自SCASIL、StudentASIM

WHEREL.C#=IL.C#andIM.S#=IL.S#

GROUPBYIL.C#)

AND</

R.Score=(SELECTMIN(IR.score)

FROMSCASIR

WHERER.C#=IR.C#

GROUPBYIR.C#

);

19、按照各科平均分从低到高和通过率百分比从高到低排序

SELECT.C#UScoursenumber,max(course.Cname)美国课程名称,isnull(AVG(score),0)美国平均分

=60THEN1ELSE0END)/COUNT(*)美国通过率

 FROMSCT,课程

​其中et.C#=course.C#

GROUPBYt.C#

=60THEN1ELSE0END)/COUNT(*)DESC

20、查询下一门课程的平均成绩和通过率(显示“1行”):商业管理(001)、马克思(002)、OO&UML(003)、数据库(004)

SELECTSUM(CASEWHENC#='001'THENscoreELSE0END)/SUM(CASEC#WHEN'001'THEN1ELSE0END)AS企业管理平均分

=60THEN1ELSE0END)/SUM(CASEWHENC#='001'THEN1ELSE0END)AS管理通过百分比Enterprise

,SUM(CASEWHENC#='002'THENcoreELSE0END)/SUM(CASEC#WHEN'002'THEN1ELSE0END)AS马克思平均分

=60THEN1ELSE0END)/SUM(CASEWHENC#='002'THEN1ELSE0END)AS通过率Marx

、SUM(CASEWHENC#='003'THENscoreELSE0END)/SUM(CASEC#WHEN'003'THEN1ELSE0END)平均ASUML分数

=60THEN1ELSE0END)/SUM(CASEWHENC#='003'THEN1ELSE0END)通过率ASUML

<,SUM(CASEWHENC#='004'THENscoreELSE0END)/SUM(CASEC#WHEN'004'THEN1ELSE0END)AS数据库平均分

<,100*SUM(CASEWHENC#='004'ANDscore>=60THEN1ELSE0END)/SUM(CASEWHENC#='004'THEN1ELSE0END)AS数据库通过率

​FROMSC

​21.询问不同老师讲授的不同课程平均分从高到低显示

SELECTmax(Z.T#)AS教师ID,MAX(Z.Tname)AS教师姓名,C.C#AS课程ID,MAX(C.Cname)AS课程名称,AVG(Score)AS平均分

FROMSCAST、课程ASC、教师ASZ

其中T.C#=C.C#andC.T#=Z.T#

GROUPBYC.C#

ORDERBYAVG(分数)DESC

22.课程排名第3至第6名的学生的问号下一项:工商管理(001)、马克思(002)、UML(003)、数据库(004)

【学号】、【学生姓名】、工商管理、马克思、UML、数据库、平均分

CELLECTDISTINCTtop3

SC.S#As学号,

学生姓名Student.SnameAS,

T1.scoreA企业管理,

 T2.scoreASMarx,

 T3.scoreASUML,

 T4.scoreAS数据库,

 ISNULL(T1.score,0)+ISNULL(T2.score,0)+ISNULL(T3.score,0)+ISNULL(T4.score,0)作为总分

FROMStudent,SCLEFTJOINSCAST1

ONSC.S#=T1.S#ANDT1.C#='001'

LEFTJOINSCAST2

ONSC.S#=T2.S#ANDT2。
C#='002'

【LEFTJOINSCAST3

【ONSC.S#=T3.S#ANDT3.C#='003'

【LEFTJOINSCAST4

ONSC.S#=T4.S#ANDT4.C#='004'

WHEREstudent.S#=SC.S#and

ISNULL(T1.score,0)+ISNULL(T2.score,0)+ISNULL(T3.score,0)+ISNULL(T4.score,0)

不是

(选择

不同

TOP15WITTHIES

ISNULL(T1.score,0)+ISNULL(T2.score,0)+ISNULL(T3.score,0)+ISNULL(T4.score,0)

【FROMsc

LEFTJOINScAST1

ONsc.S#=T1.S#ANDT1.C#='k1'

LEFTJOINScAST2

ONsc.S#=T2.S#ANDT2.C#='k2'

LEFTJOINscAST3

ONsc.S#=T3.S#ANDT3.C#='k3'

>

​LEFTJOINScAST4

​ONsc.S#=T4.S#ANDT4.C#='k4'

ORDERBYISNULL(T1.score,0)+ISNULL(T2.score,0)+ISNULL(T3.score,0)+ISNULL(T4.score,0)DESC);

23、统计打印成绩每个科目和每个分数段的人数:课程ID、课程名称、[100-85]、[85-70]、[70-60]、[<60>

SELECTSC.C#作为课程ID,Cn为课程名称

<,SUM(WHENscoreBETWEEN85AND100THEN1ELSE0END)AS[100-85]

<,SUM(CASEWHENscoreBETWEEN70AND85THEN1ELSE0END)AS[85-70]

 ,SUM(WHEN分数BETWEEN60AND70THEN1ELSE0END)AS[70-60]

<,SUM(WHILE分数<60THEN1ELSE0END>

<其中SC.C#=Course.C#

【GROUPBYSC.C#,Cname;

【24.题目平均分及排名学生

​GROUPBYS#

​)AST1

T2.平均分)为位置,

​S#为学号,平均分

FROM(SELECTS#,AVG(score)平均分

【FROMSC

【GROUPBYS#

】AST2

【ORDERBY平均分desc;

25、查询各科成绩前三名的记录:(不考虑平)

SELECTt1.S#为学生ID,t1.C#为课程ID,Scoreas分数

FROMSCt1

WHEREscoreIN(SELECTTOP3score

FROMSC

WHEREt1.C#=C#

或DERBYscoreDESC

)

ORDERBYt1.C#;

26.询问每门课程选定的学生人数

selectc#,count(S#)fromscgroupbyC#;

27.询问仅修读一门课程的所有学生的学号和姓名

selectSC.S#,Student.Sname,count(C#)AS选择编号课程

​来自SC,Student

​其中SC.S#=Student.S#groupbySC.S#,Student.Snamehavingcount(C#)=1;

​28.询问男性和女性的数量

选择count(Ssex)作为学生组中男性的数量,通过SsexhavingSsex='male';

选择count(Ssex)作为学生组中男性的数量girlsfromStudentgroupbySsexhavingSsex='female';

29.查询姓“张”的学生列表

SELECTSnameFROMStudentWHERESnamelike'Zhang%';

30.查询列表同类同名学生的数量,并统计同名学生的数量

1;;

【31.1981年出生的学生列表(注:Student表中Sage列类型为datetime)

selectSname,CONVERT(char(11),DATEPART(year,Sage))asage

​其中CONVERT(char(11),DATEPART(year,Sage))='1981';

​32.每个年级课程的平均问题,产量按平均成绩升序排序,当平均成绩相等时,按课程编号降序排序

选择C#,Avg(score)fromSCgroupbyC#orderbyAvg(score),C#DESC;

33。
询问所有学生的平均分大于85学号、姓名和平均成绩

从Student,SC中选择姓名,SC.S#,平均分(分数)

85;

34.询问课程名称为“数据库”且其学生姓名和成绩分数小于60

SelectSname,isnull(score,0)

来自omStudent,SC,Course

whereSC.S#=Student.S#andSC.C#=Course.C#andCourse.Cname='database'andscore<60>

35、查询所有学生选课状态;

SELECTSC.S#,SC.C#,Sname,Cname

FROMSC,学生,课程

其中SC.S#=学生.S#andSC。
C#=Course.C#;

36、查询任意70分及以上课程的名称、课程名称及成绩;

SELECTdistinctstudent.S#,student.Sname,SC.C#,SC.score

=70ANDSC.S#=student.S#;

<37>

单元格ectc#fromscwherescore<60orderbyC>

【38.询问课程编号为的学生的学号和姓名003并且课程分数超过80分;

80andC#='003';

39.查找选择课程的学生人数

selectcount(*)来自sc;

40。
询问跟随“叶平”老师教授课程的学生中得分最高的学生的姓名和分数

从Student中选择Student.Name、分数

,SC,课程C,教师

其中Student.S#=SC.S#andSC.C#=C.C#andC.T#=Teacher.T#andTeacher.Tname='是ping'andSC.score=(selectmax(score)fromSCwhereC#=C.C#);

41、查询每门课程及其对应的选修课号

selectcount(*)fromscgroupbyC#;

42.询问不同课程学号、课程号、同年级学生学号Score

【selectdistinctA.S#,B.scorefromSCA,SCBwhereA.Score=B.ScoreandA.C#<>B.C#;

【43.询问每个技能的前两名得分

SELECTt1.S#作为学生ID,t1.C#作为课程ID,Scoreas分数

FROMSCt1

WHEREscoreIN(SELECTTOP2score

FROMSC

WHEREt1.C#=C#

ORDERBYscoreDESC

)

ORDERBYt1.C#;

44.统计每门课程的学生人数选修学生人数(仅计算学生人数超过10人的课程)。
要求输出课程号和选修人数查询结果按照人数降序排序。

选择C#为课程号,count(*)为选课人数people

from

​groupbyC#

​orderbycount(*)desc,c#

​45.获取已选课学生的学号至少两门课程

selectS#

fromsc

groupbys#

=2

【46.询问所有学生选修的课程号及课程名称

selectC#,MyCna

【fromCourse

【whereC#in(selectc#fromscgroupbyc#)

【47.询问那些没有学过任何课程的人by“叶平”学生名

​selectSnamefromStudentwhereS#notin(selectS#fromCourse,Guru,SCwhereCourse.T#=Teacher.T#andSC.C#=course.C#andTname='叶平');

48问学生人数以及未通过两门或以上课程的学生的平均成绩

selectS#,平均。
(isnull(score,0))fromomSCwhereS#in(selectS#fromSCwherescore<60groupbyS>2)groupbyS#;

49.获得课程成绩“004”小于60。
学生编号按分数降序排序

selectS#fromSCwhereC#='004'andscore<60orderbyscoredesc>

50.删除“002”课程结果“001”学生

deletefromScwhereS#='001'andC#='001';

;