mysql 常用查询方式

1.子查询:

子查询就是查询中的查询,常用的操作符有inall
in表示在某一个范围内
all所有的目的均要满足设定条件

select  <待查字段> from <表名> where <条件字段> =(select <条件字段> from .......)
2.外键约束:

外键约束是确保数据正确性的一种手段,经常与主键一起使用
通常用来约束两个表中数据的一致性

<constraint 约束名称> foreign key <子表要设置为外键的列名> references <父表名称(父表主键)>[on delete cascade] [on update cascade]

eg:
constraint fk_student foreign key(school_id) references school(id)
3.多表查询之等值连接:

就是将多个表之间的相同的字段作为条件查询数据的,通常多个表之间相同的字段都指的是标语表之间的主外键

select <字段列表> from <表A,表B> where <连接条件>;
eg:
select student.name as 学生姓名, student.score as 学生成绩,
	school.name as 学校名称 from student,school
	where student.school_id=school.id;
4.多表查询之内连接:

查询都是符合条件的结果

select <字段列表> from <表A> inner join <表B> on <连接条件>;
eg:
select student.name as 学生姓, student.score as 学生成绩,
	school.name as 学校名称 from student inner join school
	on student.school_id=school.id;
5.多表查询之外连接:
  • 左外连接:
    除了返回表中符合条件的记录外还要加上左表中剩下的全部记录
select <字段列表> from <表A> left join <表B> <连接条件>;
eg:
select student.name as 学生姓名,student.score as 学生成绩,
    school.name as 学校名称 from school left join  student 
    on student.school_id=school.id;
  • 右外连接
    除了返回表中符合条件的记录外还要加上右表中剩下的全部记录
select 字段列表 from 表A right join 表B on 连接条件;
eg:
select student.name as 学生姓名,student.score as 学生成绩,
    school.name as 学校名称 from student right join  school 
    on student.school_id=school.id;
6.合并查询:
  • union关键字用来连接两个查询结果,但是查询结果中的列数和数据类型必须要一致
    union在连接查询结果时,会去掉相同的行;
    union all不会去掉重复行
select 字段名  from 表名称1
union[all]
select 字段名  from 表名称2
  • 对合并后的查询结果排序
(select 字段名  from 表名称1)
union[all]
(select 字段名  from 表名称2)
order by 第一个表中的列名;
  • 限制组合查询结果的列数
(select 字段名  from 表名称1)
union[all]
(select 字段名  from 表名称2)
limit 行数;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值