MySQL——查询

1 基本查询

语句:select 字段列表 from  表名

基本查询: select * from person

2 条件查询

用where表示查询的条件
    SELECT id,name,age ,sex ,favourite  from person where id BETWEEN 1 and 10
    SELECT id,name,age ,sex ,favourite  from person where  id>5 and sex='男'   
    SELECT id,name,age ,sex ,favourite  from person where  id>5 or sex='男' 

 %匹配0或多个字符,一般不用左模糊(%放在左边,导致索引失效,降低查询效率)
    SELECT id,name,age ,sex ,favourite  from person where name like '%豪'

_代表匹配一个字符
    SELECT id,name,age ,sex ,favourite  from person where name like '_豪'
    SELECT id,name,age ,sex ,favourite  from person where name like '%二%'

3 分页查询

语法 limit 起始索引,个数
分页查询第m页,每页展示n 条数据 limit (m-1)*n, n 
SELECT id,name,age ,sex ,favourite  from person limit 0,5
SELECT id,name,age ,sex ,favourite  from person limit 5,5
SELECT id,name,age ,sex ,favourite  from person limit 10,5

4 排序

排序 order by 字段名 (ASC 升序,DESC降序)
    SELECT id,name,age ,sex ,favourite from person ORDER BY age ASC;
    SELECT id,name,age ,sex ,favourite from person ORDER BY age DESC;

5 聚合函数

聚合函数  count()   sum()  avg()   max()  min()
    select count(0) from person   查询有多少条记录
    select sum(age) from person 
    select avg(age) from person 
    select min(age) from person 
    select max(age) from person 
    SELECT CAST(avg(age) as decimal(10,0)) as avg from person

6 分组查询

组查询  group by 字段
    SELECT  sex,count(0),avg(age) from person GROUP BY sex;

having条件查询  where分组前,having分组后的条件
    SELECT  sex,count(0),avg(age) from person where age>8 GROUP BY sex  having avg(age)>20;

7 子查询

 把查询到的结果当作另一个查询的条件

SELECT number FROM lpk WHERE age = (SELECT MIN(age) FROM lpk)
SELECT name,number FROM (SELECT id,name,password,age,sex,number FROM lpk WHERE name LIKE '%张%') h

8 内连接

1.显示内连接:

SELECT u.id,u.name,u.password,u.age,u.sex,u.number,d.deptname FROM dept d JOIN lpk u on u.deptid = d.id

2.隐式内连接:

SELECT  u.id,u.name,u.password,u.age,u.sex,u.number,d.deptname FROM lpk u,dept d WHERE u.deptid = d.id

9 外连接

1.左连接:

SELECT u.id,u.name,u.password,u.age,u.sex,u.number,d.deptname FROM lpk u LEFT JOIN dept d ON u.deptid=d.id

2.右连接:

SELECT u.id,u.name,u.password,u.age,u.sex,u.number,d.deptname FROM dept d RIGHT JOIN lpk u ON u.deptid=d.id

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值