多表操作
交叉查询(笛卡尔积查询):
#A表中的每一条记录都对应B表中的所有记录,所以,A和B的交叉查询的条目数即为:A条目数*B条目数
语法:
select 列名 from A cross join B where 条件
select 列名 from A,B where 条件
内查询
#A表与B表有主外键关系时,查询外键所对应的主键条目
语法:
select 列名 from A inner join B on(A.外键 = B.主键);#显式内查询
select 列名 from A,B where 条件 ;#隐式内查询
外查询——左外查询
#左外查询即在左外查询关键字的左边的所有条目全部列出
select 列名 from A left join B on(A.外键 = B.主键);
外查询——右外查询
#右外查询即在查询关键字的右边的所有条目全部列出
select 列名 from A right join B on(A.外键 = B.主键);
联合查询
#使用union将两个select的结果想加,并且合并相同结果;
(select 语句1) union (select 语句2);
子查询
#在一个select的查询语句中的where后面再跟上一个select查询语句
select 列名 from 表名 where 字段名 on (select语句);
分组查询
#使用group by将需要需要分组的列放进去,里面还可以跟上having作为分组后的查询条件
select 列名 from 表名 where 条件 group by 列名 having 条件
聚合函数
#使用函数进行一些必要的统计
count() max() min() sum() avg()
时间: 2024-11-23 13:46:28