MySQL简单的查改

建表

create table stu(id int primary auto_increment,name 
varchar(23),age int, grade_id int);

插入数据

insert into stu(name,age) values("tom", 20),("bob", 20),("lucy", 39);

查询

select * from stu name=tom
                                age between 20 and 30
                 age in (20, 30)
                 name like "t%" and age > 20
select * from stu limit 30 拿三十个
                limit 2 offset 3 第三后拿两个
                limit 3, 2
                order by age 通过年纪升序列 
                age desc  降序

查询1班和2班每班有多少人,并按班级顺序排序

select class,count(*) from A where class in(1,2) group by class order by class;

分组

select avg(age) from stu group by grade_id;
select avg(age) from stu group by grade_id having avg(age) > 20;

链表查询

select * from t1 left join t2 on t1.t2_id=t2.id where t1.id>10

先查b表再查b表得出的结果

select * from (select * from b) as tmp;

查询所有 name 在p_name里面的

select * from a where name in (select p_name from person);

表明叫table_name的name的字段里

1.新建一个表
    create table prize(id int primary key auto_increment,s_name varchar(30));
2.将数据插入新建的表中
insert into prize(s_nmae)select name as s_name from stu where grade>70;

insert table table_nmae(name) select p_name from person;

case when then

select case grade when 60 then 'A' when 90 then 'B' else '不及格' end from stu;
    select case when grade > 60 then '及格' else '不及格' end as '级别' from stu;
    select case when grade >= 90 then 'A' when grade < 90 and grade > 60 then 'B' else 'C' end as levels from stu;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 7,862评论 5 116
  • 观其大纲 page 01 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 M...
    周少言阅读 3,179评论 0 33
  • (⊙o⊙)哇,你该不会是个傻子吧!说这话的时候,小天一脸嫌弃的敲了一下小亭的头。然后小亭仰起那张苦瓜脸,嘟着嘴,白...
    想飞的鱼小天阅读 921评论 3 5
  • 什么是过客?来过你的生命,带给你感动,带给你回忆,最后离开的的那个人。或许是你选择离开,或许是他选择离开,但无论是...
    余歌1122阅读 1,565评论 0 1
  • 殷耀喜 2016年11月17日 这几年在网上或微信上总是不断地看到一些关于50后的相关文章,有哀叹,有埋怨,有牢骚...
    营地篝火阅读 290评论 0 0