多行查询

来源:互联网 发布:网络的服务 编辑:程序博客网 时间:2024/04/28 23:53

插入多行数据
INSERT INTO <表名>(列名)
VALUES(<列名值>), (<列名值>), (<列名值>)
……
INSERT  STUDENTS (SName,SGrade,SSex)
VALUES('测试女生1',75,0),
('测试女生2',77,0),
('测试女生3',83,0),
(‘测试男生1',81,1),
('测试女生4',90,0),
(‘测试男生2',94,1),
('测试女生5',51,0),
(‘测试男生3',53,1);
INSERT INTO <表名>(列名)
SELECT <列名>
FROM <源表名>
INSERT INTO  TongXunLu ('姓名','地址','电子邮件')
SELECT  SName,SAddress,SEmail
FROM   Students
查询产生一个虚拟表,看到的是表形式显示的结果,但结果并不真正存储,每次执行查询只是现从数据表中提取数据,并按照表的形式显示出来
SELECT    <列名>
FROM      <表名>
[WHERE    <查询条件表达式>]
[ORDER BY <排序的列名>[ASC或DESC]]
from子句:指定查询数据的表
where子句:查询数据的过滤条件
group by子句:对匹配where子句的查询结果进行分组
having子句:对分组后的结果进行条件限制
order by子句:对查询结果结果进行排序,后面跟desc降序或asc升序(默认)。     
limit子句:对查询的显示结果限制数目
procedure子句:查询存储过程返回的结果集数据
SQL提供的统计函数称为集函数.
主要的集函数:
记数函数: count(列名) 计算元素的个数
求和函数: sum(列名) 对某一列的值求和,但属性必须是整型
计算平均值:avg(列名)对某一列的值计算平均值
求最大值: max(列名) 找出某一列的最大值
求最小值: min(列名) 找出某一列的最小值
在WHERE子句中使用谓词 :
  BETWEEN    AND    :在两数之间
 NOT   BETWEEN    AND :不在两数之间
 IN <值表>   :是否在特定的集合里(枚举)
 NOT IN <值表> :与上面相反
 LIKE  :是否匹配于一个模式
 IS NULL(为空的)或 IS NOT NULL(不为空的)REGEXP : 检查一个值是否匹配一个常规表达式。
连接查询
同时涉及多个表的查询称为连接查询
用来连接两个表的条件称为连接条件
内连接(INNER JOIN)
外连接
——左外联结   (LEFT JOIN)
——右外联结   (RIGHT JOIN)
外连接与普通连接的区别
普通连接操作只输出满足连接条件的元组
外连接操作以指定表为连接主体,将主体表中不满足连接条件的元组一并输出:

SELECT Students.SName, Sc.CourseID, Sc.Grade
FROM  Students,Sc
WHERE  Students.SNo = Sc.StudentID