SQL简单语句小结 数据库菜鸟不可不看

时间:2019-05-13 16:21:57下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《SQL简单语句小结 数据库菜鸟不可不看》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《SQL简单语句小结 数据库菜鸟不可不看》。

第一篇:SQL简单语句小结 数据库菜鸟不可不看

数据库菜鸟不可不看简单SQL语句小结

为了大家更容易理解我举出的SQL语句,本文假定已经建立了一个学生成绩管理数据库,全文均以学生成绩的管理为例来描述。

1.在查询结果中显示列名:

a.用as关键字:select name as '姓名' from students order by age

b.直接表示:select name '姓名' from students order by age

2.精确查找:

a.用in限定范围:select * from students where native in('湖南', '四川')

b.between...and:select * from students where age between 20 and 30

c.“=”:select * from students where name = '李山'

d.like:select * from students where name like '李%'(注意查询条件中有“%”,则说明是部分匹配,而且还有先后信息在里面,即查找以“李”开头的匹配项。所以若查询有“李”的所有对象,应该命令:'%李%';若是第二个字为李,则应为'_李%'或'_李'或'_李_'。)

e.[]匹配检查符:select * from courses where cno like '[AC]%'(表示或的关系,与“in(...)”类似,而且“[]”可以表示范围,如:select * from courses where cno like '[A-C]%')

3.对于时间类型变量的处理

a.smalldatetime:直接按照字符串处理的方式进行处理,例如:

select * from students where birth > = '1980-1-1' and birth <= '1980-12-31'

4.集函数

a.count()求和,如:select count(*)from students(求学生总人数)

b.avg(列)求平均,如:select avg(mark)from grades where cno=’B2’

c.max(列)和min(列),求最大与最小 5.分组group

常用于统计时,如分组查总数: selectgender,count(sno)

发表日期:2004-7-23

from students group by gender(查看男女学生各有多少)

注意:从哪种角度分组就从哪列“group by” 对于多重分组,只需将分组规则罗列。比如查询各届各专业的男女同学人数,那么分组规则有:届别(grade)、专业(mno)和性别(gender),所以有“group by grade, mno, gender”

select grade, mno, gender, count(*)from students

group by grade, mno, gender

通常group还和having联用,比如查询1门课以上不及格的学生,则按学号(sno)分类有:

selectsno,count(*)from gradeswhere mark<60 group by sno having count(*)>16.UNION联合 合并查询结果,如: SELECT * FROM students WHERE name like ‘张%’ UNION [ALL]

SELECT * FROM students WHERE name like ‘李%’ 7.多表查询 a.内连接

selectg.sno,s.name,c.coursename

from grades g JOIN students s ON g.sno=s.sno JOIN courses c ON g.cno=c.cno(注意可以引用别名)b.外连接 b1.左连接

selectcourses.cno,max(coursename),count(sno)from courses LEFT JOIN

grades

ON

courses.cno=grades.cno

group by courses.cno

左连接特点:显示全部左边表中的所有项目,即使其中有些项中的数据未填写完全。

左外连接返回那些存在于左表而右表中却没有的行,再加上内连接的行。

b2.右连接 与左连接类似 b3.全连接

selectsno,name,major from students FULL JOIN

majors

ON

students.mno=majors.mno

两边表中的内容全部显示 c.自身连接

select

c1.cno,c1.coursename,c1.pno,c2.coursename

from courses c1,courses c2 where c1.pno=c2.cno 采用别名解决问题。d.交叉连接

selectlastname+firstname from lastname CROSS JOIN firstanme

相当于做笛卡儿积 8.嵌套查询

a.用关键字IN,如查询李山的同乡: select * from students

where native in(select native from students where name=’李山’)

b.使用关键字EXIST,比如,下面两句是等价的: select * from students

wheresno in(select sno from grades where cno=’B2’)

select * from students where exists(select * from grades where

grades.sno=students.sno AND cno=’B2’)9.关于排序order

a.对于排序order,有两种方法:asc升序和desc降序

b.对于排序order,可以按照查询条件中的某项排列,而且这项可用数字表示,如:

selectsno,count(*),avg(mark)from gradesgroup by sno havingavg(mark)>85 order by 310.其他

a.对于有空格的识别名称,应该用“[]”括住。b.对于某列中没有数据的特定查询可以用null判断,如select sno,courseno from grades where mark IS NULL

c.注意区分在嵌套查询中使用的any与all的区别,any相当于逻辑运算“||”而all则相当于逻辑运算“&&”

d.注意在做否定意义的查询是小心进入陷阱: 如,没有选修‘B2’课程的学生: select students.* from students, grades wherestudents.sno=grades.sno AND grades.cno<> ’B2’

上面的查询方式是错误的,正确方式见下方: select * from students

where not exists(select * from gradeswheregrades.sno=students.sno AND cno='B2')11.关于有难度多重嵌套查询的解决思想: 如,选修了全部课程的学生: select * from students

where not exists(select * from courses where NOT EXISTS(select * from grades

wheresno=students.sno AND cno=courses.cno))

最外一重:从学生表中选,排除那些有课没选的。用not exist。由于讨论对象是课程,所以第二重查询从course表中找,排除那些选了课的即可。

第二篇:数据库SQL语句十题

作业十题

1.查询所有学生的基本信息,并按学号降序排列

SELECT * FROM STUDENT

ORDER BY sno DESC;

2.查询系别代码为“02”的女同学信息

SELECT * FROM STUDENT

WHERE ssex=’女’ and sdept=‘02’;

3.查询学生的总人数

SELECT COUNT(*)AS 学生总人数

FROM STUDENT;

4.所有选修课学生的姓名,课程名及成绩

SELECT sname,cname,grade

FROM STUDENT,COURSE,SC

WHERE STUDENT.sno=SC.sno and COURSE.cno=SC.cno;

5.不及格学生姓名(合并重复项)

SELECT distinct sname

FROM SC,STUDENT

WHERE grade<=60 and STUDENT.sno=SC.sno;

6.查询学号为“011110”的学生的哪些课程的成绩比他数据库的成绩要高 SELECT cno

FROM COURSE

WHERE sno=’011110’ and grade>(SELECT grade FROM COURSE,SC

WHERE cname=’数据库’ and sno=‘011110’ and

COURSE.cno=SC.cno);

7.查询选修课在3门以上(包括3门)的学生学号及选课门数 SELECT sno,COUNT(*)AS 选修门数

FROM SC

GROUP BY sno HAVING COUNT(*)>=3;

8.查询学号为“011110”的学生的平均成绩,并以平均成绩命名 SELECT AVG(grade)AS average grade

FROM SC

WHERE sno=’011110’;

9.查询计算机系或英语系的所有学生的个人信息

SELECT*FROM STUDENT

WHERE sdeptIN(SELECT sdept FROM DEPT

WHERE sdname=’计算机系’OR sdname=’英语系’);

10.查询与“罗宇波”同一个系的学生情况

SELECT * FROM STUDENT

WHERE sdept=(SELECT sdept FROM STUDENT

WHERE sname=’罗宇波’);

第三篇:简单SQL语句小结

简单SQL语句小结

注释:本文假定已经建立了一个学生成绩管理数据库,全文均以学生成绩的管理为例来描述。1.在查询结果中显示列名:

a.用as关键字:select name as '姓名' from students order by age b.直接表示:select name '姓名' from students order by age 2.精确查找: a.用in限定范围:select *

from students

where native in('湖南', '四川')b.between...and:select * from students where age between 20 and 30 c.“=”:select * from students where name = '李山' c.like: select * from students where name like '李%'(注意查询条件中有“%”,则说明是部分匹配,而且还有先后信息在里面,即查找以“李”开头的匹配项。所以若查询有“李”的所有对象,应该命令:'%李%';若是第二个字为李,则应为'_李%'或'_李'或'_李_'。)e.[] 匹配检查符:select * from courses where cno like '[AC]%'(表示或的关系,与“in(...)”类似,而且“[]”可以表示范围,如:select * from courses where cno like '[A-C]%')3.对于时间类型变量的处理

a.smalldatetime:直接按照字符串处理的方式进行处理,例如:

select * from students where birth > = '1980-1-1' and birth <= '1980-12-31'

4.集函数

a.count()求和,如:select count(*)

from students(求学生总人数)b.avg(列)求平均,如:select avg(mark)

from grades

where cno=’B2’

c.max(列)和min(列),求最大与最小 5.分组group:常用于统计时,如分组查总数:

select gender,count(sno)from students group by gender(查看男女学生各有多少)

注意:从哪种角度分组就从哪列“group by”

对于多重分组,只需将分组规则罗列。比如查询各届各专业的男女同学人数,那么分组规则有:届别(grade)、专业(mno)和性别(gender),所以有“group by grade, mno, gender” select grade, mno, gender, count(*)from students group by grade, mno, gender

通常group还和having联用,比如查询1门课以上不及格的学生,则按学号(sno)分类有:

select sno,count(*)from grades where mark<60 group by sno having count(*)>1

6.UNION联合

合并查询结果,如:

SELECT * FROM students WHERE name like ‘张%’

UNION [ALL] SELECT * FROM students WHERE name like ‘李%’

7.多表查询

a.内连接

select g.sno,s.name,c.coursename from grades g JOIN students s ON g.sno=s.sno JOIN courses c ON g.cno=c.cno(注意可以引用别名)

b.外连接

b1.左连接

select courses.cno,max(coursename),count(sno)from courses LEFT JOIN grades ON courses.cno=grades.cno group by courses.cno

左连接特点:显示全部左边表中的所有项目,即使其中有些项中的数据未填写完全。

左外连接返回那些存在于左表而右表中却没有的行,再加上内连接的行。

b2.右连接

与左连接类似

b3.全连接

select sno,name,major from students FULL JOIN majors ON students.mno=majors.mno

两边表中的内容全部显示

c.自身连接

select c1.cno,c1.coursename,c1.pno,c2.coursename from courses c1,courses c2 where c1.pno=c2.cno

采用别名解决问题。

d.交叉连接

select lastname firstname from lastname CROSS JOIN firstanme

相当于做笛卡儿积

8.嵌套查询

a.用关键字IN,如查询李山的同乡:

select * from students where native in(select native from students where name=’ 李山’)

b.使用关键字EXIST,比如,下面两句是等价的:

select * from students where sno in(select sno from grades where cno=’B2’)

select * from students where exists(select * from grades where grades.sno=students.sno AND cno=’B2’)

9.关于排序order

a.对于排序order,有两种方法:asc升序和desc降序

b.对于排序order,可以按照查询条件中的某项排列,而且这项可用数字表示,如:

select sno,count(*),avg(mark)from grades group by sno having avg(mark)>85 order by 3 10.其他

a.对于有空格的识别名称,应该用“[]”括住。

b.对于某列中没有数据的特定查询可以用null判断,如: select sno, courseno from grades where mark IS NULL

c.注意区分在嵌套查询中使用的any与all的区别,any相当于逻辑运算“||”而all则相当于逻辑运算“&&”

d.注意在做否定意义的查询是小心进入陷阱:

如,没有选修‘B2’课程的学生 :

select students.* from students, grades where students.sno=grades.sno AND grades.cno <> ’B2’

上面的查询方式是错误的,正确方式见下方:

select * from students where not exists(select * from grades where grades.sno=students.sno AND cno='B2')

11.关于有难度多重嵌套查询的解决思想:

如,选修了全部课程的学生:

select * from students where not exists(select * from courses where NOT EXISTS(select * from grades where sno=students.sno AND cno=courses.cno))

最外一重:从学生表中选,排除那些有课没选的。用not exist。由于讨论对象是课程,所以第二重查询从course表中找,排除那些选了课的即可。

第四篇:SQL数据库编程学习应用语句

SQL数据库编程学习应用语句大全

1as 的用处

as可以对表和列取别名

在开发过程中经常遇到开始给某一个的字段去field1的名称,但后来有感觉field1字段指定不确切,于是又把此字段改成了field2,由于开始认为field1是常量,于是到处使用字符串field1,而且程序中又含有大量对field1的处理,此时就可以使用as

例如原来的 select field1 from tableA,改为selectfield2 asfield1 from tableA 代码基本就可以不动了。

2自增长的字段的插入

开发中经常遇到某个字段类型为IDENTITY,也就是自增长类型,但由于特殊需要,又要插入数据

需要临时去掉,可以使用如下语句set IDENTITY_INSERTtablename on,在处理完成后在使用如下语句恢复 set IDENTITY_INSERTtablenameoff

3分组取每组的前N个数据

开发中还会遇到需要对某一组数据先分组,然后取每组的前n条记录的情况

不妨试试如下代码

[sql] view plaincopy

/*

按CurrentNodeLevel列分组,每组按NodeID排序,取出每个组中的前3个元素*/

declare @temp table(NodeIDint, CurrentNodeLevelint ,rowNumberint)--定义临时表insert into @temp

selectNodeID,CurrentNodeLevel,ROW_NUMBER()

OVER(partitionby CurrentNodeLevel

order by NodeID)as rowNumber

from SchoolTerminalStruct---给临时表中插入数据

select * from @temp where rowNumber<=3--从临时表中取数据

4生成随机数

主意此方法只能写成存储过程,不能写成函数

[sql] view plaincopy

-----返回Max,Min之间的随机数不能写成函数

createproc [dbo].[getRAND]

(@Max int,--最大值

@Min int--,--最小值)

AS

BEGIN

DECLARE @result int

SELECT @result=RAND()*(@Max-@Min)+@Min

select@result

END

5把满足一定条件的数据用逗号分隔

这可能也是一个很常用的语句了,经常出现在一对多的关系中对外展示,要求把子表中的数据取出来用逗号或者其他符号分隔开

[sql] view plaincopy

/*

把满足 t2.NodeID=t1.NodeID的tableA 的字段NodeName 以逗号分隔开合并为一个字段输出

*/

select *,stuff((select ',' + t1.NodeName from tableA t1,tableB t2

wheret2.NodeID=t1.NodeID

for xml path('')), 1 , 1 , '')as text

fromtableA

6在数据库中处理异常

通过个参数附加output标志来输出参数,通过TRY,CATCH捕捉异常

[sql] view plaincopy

CREATE PROCEDURE [dbo].[sp_UpdateFunctionTree]

@nodenameint,@Result int output---2,操作失败;0操作成功

AS

BEGIN

begin

BEGIN TRY

UPDATE FunctionTree SET NodeName=@nodename

set @Result=0--操作成功

END TRY

BEGIN CATCH

set @Result=-2--操作失败

END CATCH

end

END

7查询中的条件判断

经常遇到在某些条件下应该查询这个字段,在另外一些条件下需要其他字段的情况,可以通过unoin来完成,但也可以通过CASE WHEN 完成[sql] view plaincopy

/*

在State=0 时返回field1 ,在State=1时返回 field2 ,其他时返回field3

*/

SELECT(CASE WHENState=0 THEN field1 WHENState=1 THEN field2

ELSE field3 END)as State

FROM tablename

8单引号的处理

在包含单引号时应该使用两个单引号转义

[sql] view plaincopy

dbo.sp_executesql @statement = N' select indexID,Sex=(case when Sex=0then ''男'' else ''女'' end)

fromtablename '

9使用游标

[sql] view plaincopy

declare @temp table(TaskIDint ,NodeIdint)--声明临时表

insert into @temp select A.TaskID ,A.NodeIdfrom tableAA,tableB B

whereA.TaskID=B.TaskID--//--给声明的临时表中插入记录

DECLARE tnames_cursor CURSORLOCAL FORWARD_ONLY READ_ONLY--声明游标

FOR select TaskID,NodeId from @temp;--游标需要用到的列

open tnames_cursor--打开游标

DECLARE @TaskIDint,@NodeIdint;--声明变量

FETCH NEXT FROM tnames_cursor INTO @TaskID,@NodeId--移动游标给变量赋值,应该与游标需要用到的列一一对应,顺序类型应该一致

WHILE(@@FETCH_STATUS = 0)--循环

BEGIN

BEGIN

exec TaskType @TaskID,@NodeId--调用存储过程

END

FETCH NEXT FROM tnames_cursor INTO @TaskID,@NodeId ,@TaskRunCYCType--移动游标给变量赋值 应该与游标需要用到的列一一对应,顺序类型应该一致

END

CLOSE tnames_cursor--关闭游标

DEALLOCATE tnames_cursor--释放游标

10合并更新和插入

在开发中大部分情况下,插入和更新传递的参数基本上是一样,那为什么不合并呢

[sql] view plaincopy

createproc [dbo].[Save_TableName]

(@field1 varchar(50),@field2varchar(200),@ID int,@insertOrUpdate--小于0插入 大于0更新)

as

begin

if(@insertOrUpdate<0)

begin

INSERT INTOTableName(field1,field2,ID)

values(@field1,@field2,@ID);

end

else

begin

UPDATE TableNameSET field1= @field1, field2 = @field2

where ID =@ID;

end

end

11定义函数

在没有满足要求的情况时,可以定义函数,但是使用自己定义的函数时需要加上架构名称

[sql] view plaincopy

create FUNCTION [dbo].[CheckTime]

(@startTimedatetime,@endTimedatetime--,)

RETURNSint

AS

BEGIN

DECLARE @result int

SET@result=DATEDIFF(hour, @startTime, @endTime)--

if(@result=0)--小时相同 比较分钟

begin

SET@result=DATEDIFF(minute, @startTime, @endTime)

if(@result=0)--分钟相同比较秒

begin

SET@result=DATEDIFF(second, @startTime, @endTime)

end

end

RETURN @result

END

调用此函数

[sql] view plaincopy

dbo.CheckTime(@startTime1, @startTime2)--需要加上架构名称

12递归读取数据

在实际的应用中经常遇到树结构的表,但读取会比较麻烦,这里提够一个函数

[sql] view plaincopy

/*

函数 返回表,返回给定节点的所有子孙节点,而不仅仅是子节点

*/

Create Function [dbo].[GetChildren](@NodeIDInt)

Returns @Tree Table(NodeIDInt, NodeNameVarchar(50), ParentIDInt)

As

Begin

Insert @Tree Select NodeID, NodeName, ParentIDFromTreetable Where ParentID = @NodeID

While @@Rowcount> 0

Insert @Tree Select A.NodeID, A.NodeName, A.ParentID

From Treetable A

Inner Join @Tree B

On A.ParentID = B.NodeIDAndA.NodeID Not In(Select NodeID From @Tree)Return

End

13通过默认值实现存储过程重载

存储过程可以使用默认值,估计都知道,但以此就可以实现类似函数重载的效果

例如,如下的存储过程由于使用了默认值,就可以不传递参数,传递一个参数,两个,三个,[sql] view plaincopy

CREATE PROCEDURE dbo.my_proc

@firstint = NULL,--NULL default value

@secondint = 2,--Default value of 2

@thirdint = 3--Default value of 3

AS SELECT @first, @second, @third;

14在数据库中拼字符串,也可以用参数

在实际的开发中,某些情况下在数据库中拼字符串不可避免,但又担心有特殊字符,导致拼出来的SQL有问题,其实数据库中拼字符串也可以使用参数,这就要用到dbo.sp_executesql,这样就可以避免SQL注入和特殊字符导致的错误

[sql] view plaincopy

DECLARE @IntVariable INT;--定义变量

DECLARE @SQLString NVARCHAR(500);--存储拼出来的SQL

DECLARE @ParmDefinition NVARCHAR(500);---存储拼出来的SQL中的参数

/* Build the SQL string one time.*/

SET @SQLString =

N'SELECT * FROM AdventureWorks.Sales.Store WHERE SalesPersonID = @SalesID';/* Specify the parameter format one time.*/

SET @ParmDefinition = N'@SalesIDint';--赋值

/* Execute the string with the first parameter value.*/

SET @IntVariable = 275;--赋值

EXECUTE dbo.sp_executesql@SQLString, @ParmDefinition,@SalesID = @IntVariable;

/* Execute the same string with the second parameter value.*/

SET @IntVariable = 276;

EXECUTE dbo.sp_executesql@SQLString, @ParmDefinition,@SalesID = @IntVariable;

16触发器需要注意的问题

在使用触发器时有一个问题,或许很少有人注意到,一条更新语句一次更新了十条记录,会触发几次触发器?只有一次!很奇怪,但却是事实,所以这需要注意,一不小心就会把好

多数据漏了

第五篇:VB数据库SQL语句学习

1.Select * from student查询所有原始记录

2.Select StudentID, StudentName from student 只查询学号和姓名

3.Select StudentID as 学号, StudentName as 姓名, Sex as 性别,Class as 班级,NormalScore as平时成绩,ExperimentScore as 实验成绩, ExaminationScore as 考试成绩 from student

4.Select * from student where sex=’男’只需要查看男生的成绩

5.Select * from student where NormalScore>80只需要查看平时成绩大于80分的记录

6.Select * from student where studentname like ‘陈%’查询姓陈的同学的记录

7.Select * from student order by examinationScore根据考试成绩排序

8.Select * from student order by examinationScore排序---降序

9.Select Sum(examinationScore)as 总成绩 from student求总成绩

10.Select Avg(examinationScore)as平均成绩 from student求平均成绩

11.Select count(*)as 总记录数 from student求总记录数

12.Select Max(ExaminationScore)as 最高分 from student求最高分

13.Select Min(ExaminationScore)as 最高低分 from student求最低分

14.Select Class as 班级, Avg(ExaminationScore)as平均成绩 from student group by class各班级成绩的分类汇总

Public Class frmMain

Private ObjCnn As New OleDbConnection

Private ObjCmd As OleDbCommand

Private StrDir As String = “D:MIS1025StudentMgr.accdb”

Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs)Handles MyBase.Load

ObjCnn.ConnectionString = “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=” & StrDir

ObjCnn.Open()

ObjCmd = New OleDbCommand

ObjCmd.Connection = ObjCnn

End Sub

Private Sub FindRecord(ByVal StrSQL As String)

ObjCmd.CommandText = StrSQL

Dim rd As OleDbDataReader = ObjCmd.ExecuteReader

Dim tbl As New DataTable

tbl.Load(rd)

DataGridView1.DataSource = tbl

End Sub

Private Sub CmdFind_Click(ByVal sender As System.Object,System.EventArgs)Handles CmdFind.Click

FindRecord(txtSQL.Text)

End Sub ByVal e As

下载SQL简单语句小结 数据库菜鸟不可不看word格式文档
下载SQL简单语句小结 数据库菜鸟不可不看.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    sql常用语句

    //创建临时表空间create temporary tablespace test_temp tempfile 'E:oracleproduct10.2.0oradatatestservertest_temp01.dbf'size 32m autoextend on next 32m maxs......

    SQL语句大全

    SQL练习一、 设有如下的关系模式, 试用SQL语句完成以下操作: 学生(学号,姓名,性别,年龄,所在系) 课程(课程号,课程名,学分,学期,学时) 选课(学号,课程号,成绩) 1. 求选修了课程号为“C2”......

    SQL语句

    SQL语句,用友的SQL2000,通过查询管理器写的语句 1、查询 2、修改 3、删除 4、插入表名:users 包含字段:id,sname,sage 查询 select * from users查询users表中所有数据 select i......

    常用SQL语句

    一、创建数据库 create database 数据库名 on( name='数据库名_data', size='数据库文件大小', maxsize='数据库文件最大值', filegrowth=5%,//数据库文件的增长率 filename......

    sql语句

    简单基本的sql语句 几个简单的基本的sql语句 选择:select * from table1 where范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1......

    常用sql语句

    1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d......

    SQL数据库心得

    黄淮学院 2015--- 2016学年第 一 学期 《C#数据库应用程序开发技术与案例教程》课程 题目:学习报告 院系:数学科学系 专业:数学与应用数学 年级:1301B 姓名:曹占营 学号:1331110......

    文管二级Access数据库SQL语句详解

    第一讲 上面是Access数据库中所涉及的两个表 下面我们介绍Access数据库中用于查询数据的语句: 1、 SELECT 语句 SELECT语句是数据库中使用频率最高的语句,就是我们通常说的查......