2023年6月27日发(作者:)
sql语句投影全部怎么写
使用SQL进行投影
1.对单个表进行查询
⑴ 使用SQL进行投影
投影是指取表的某些列的字段值。下面是使用SQL语句进行投影的例子,从ST表中列出需要的学号、姓名和主修:
SELECT 主修 FROM ST
SELECT 学号,姓名,主修 FROM ST
SELECT DISTINCT 主修 FROM ST
⑵ 使用SQL进行选择
选择是指到表的某些行的记录值。请看下面的例子:
SELECT 学号,姓名,主修,年龄 FROM ST WHERE 主修=MATH
SELECT * FROM ST WHERE 主修=MATH
SELECT 姓名,主修,年龄 FROM ST WHERE 主修=MATHAND 年龄>21
SELECT 姓名,主修,年龄 FROM ST WHERE 主修
IN(MATH,ACCOUNTING)
SELECT 姓名,主修,年龄 FROM ST WHERE 主修 NOT
IN(MATH,ACCOUNTING) ⑶ SQL排序 SELECT 姓名,主修,年龄 FROM ST WHERE 主修=ACCOUNTING ORDER BY 姓名
SELECT 姓名,主修,年龄 FROM ST WHERE 主修
IN(MATH,ACCOUNTING) ORDER BY 姓名 DESC,年龄
ASC
⑷ SQL内置函数
SQL主要提供了前面我们提到的五个内置函数:COUNT、SUM、AVG、MAX、MIN。
在上面的查询中,还可以对查询的学生进行条件选择,使用关键字WHERE进行查询,但是这样会产生一定的模糊性,请看下例的结果,分析之:
SELECT COUNT(主修) FROM ST
SELECT COUNT(DISTINCT 主修) FROM ST
⑸ SQL内置函数和分组
为了增强统计内置函数的功能,内置函数可以和分组函数合用,将源表中的数据分组,再对每一分组生成一个汇总行。例如:学生可以按照主修专业进行分组,这意味着每一个专业将形成一个分组,然后可以对每一组进行一定的统计。
SELECT 主修,AVG(年龄) FROM ST WHERE 姓名='JONES'
GROUP BY 主修 HAVING COUNT(*)>1
主修 Avg_年龄 HISTORY22.5
主修 Avg_年龄
ACCOUNTING26.00
HISTORY31.67
学号
100
200 SELECT 姓名 FROM ST WHERE 学号 IN(100,200)
姓名
JONES
BAKER
姓名
JONES
BAKER 我们将第二个查询语句称为子查询(SUBQUERY),它嵌套在主查询的条件中。这种查询方式是很有用的,但要注意子查询的结果与主查询的条件的类型匹配问题。
对于一般的SQL查询语句而言,子查询可以嵌套二层以上甚至更多,但VFP对子查询的深度进行了限制。请看下面的语句:
SELECT CL.班名 FROM CL WHERE 时间=MWF8
班名
B100
C200
学号
200
400
400
姓名
BAKER
RYE
⑵ SQL联接查询
子查询的结果总是来自一个表,如果同时提供来自不同的表的数据(如每一个学生的学号、姓名、所在班名等),则必须将多个表(ST、EN)相联接。
请看下面的语句:
SELECT ST.学号,ST.姓名,EN.班名,EN.注册号 FROM
ST,EN WHERE ST.学号=EN.学号
学号姓名班名 注册号
100 JONES A1001
150 PARKS B2001
200 BAKER A1002
200 BAKER C2001
300 BAKER C1001 400 RYE B2002
400 RYE B1001
400 RYE C2002
450 JONES B2003
学号姓名班名 注册号 400 RYE B2002 400 RYE C2002
如果结果来自于两个以上的表,我们可以使用相仿的方法,如下例:
SELECT ST.学号,ST.姓名,EN.班名,EN.注册号 FROM
ST,EN WHERE ST.学号=EN.学号 AND ST.姓名=RYE AND
EN.注册号=2
学号班名时间 注册号
200 A100MWF32
200 C200MWF81
300 C100MWT31
3. 回顾专用查询
在专用查询中,使用了除SELECT以外的其它几个操作语句:UPDATE、INSERT INTO、DELETE、SELECT INTO等等。
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1687817243a47716.html
评论列表(0条)