mysql:mysql查询语句 和 多表关联查询 以及 子查询 章

1.查询一张表:     select * from 表名;

2.查询指定字段:select 字段1,字段2,字段3….from 表名;

3.where条件查询:select字段1,字段2,字段3 frome 表名 where 条件表达式;

例:select * from t_studect where id=1;

       select * from t_student where age>22;

4.带in关键字查询:select 字段1,字段2 frome 表名 where 字段 [not]in(元素1,元素2);

例:select * from t_student where age in (21,23);

       select * from t_student where age not in (21,23);

5.带between and的范围查询:select 字段1,字段2 frome 表名 where 字段 [not]between 取值1 and 取值2;

例:select * frome t_student where age between 21 and 29;

       select * frome t_student where age not between 21 and 29;

6.带like的模糊查询:select 字段1,字段2… frome 表名 where 字段 [not] like ‘字符串’;

    “%”代表任意字符;

    “_”代表单个字符;

例:select * frome t_student where stuName like ‘张三”;

       select * frome t_student where stuName like ‘张三%”;

       select * frome t_student where stuName like ‘%张三%”;//含有张三的任意字符

       select * frome t_student where stuName like ‘张三_”

7.空值查询:select 字段1,字段2…frome 表名 where 字段  is[not] null;

8.带and多条件查询:

select 字段1,字段2…frome 表名 where 条件表达式1 and 条件表达式2 [and 条件表达式n]

例:select * frome t_student where gradeName=’一年级’ and age=23;

9.带or的多条件查询

select 字段1,字段2…frome 表名 where 条件表达式1 or 条件表达式2 [or 条件表达式n]

例:select * frome t_student where gradeName=’一年级’ or age=23;//或者,条件只要满足一个

10.distinct去重复查询:select distinct 字段名 from 表名;

11.对查询结果排序order by:select 字段1,字段2…from 表名 order by 属性名 [asc|desc]

例:select * frome t_student order by age desc;//降序,从大到小

       select * frome t_student order by age asc;//升序,asc默认可以不写

12.分组查询group by

group by 属性名 [having 条件表达式][with rollup]

1.单独使用(毫无意义,不能单独使用);

2.与group_concat()函数一起使用;

例:select gradeName,group_concat(stuName) from t_student group by gradeName;

3.与聚合函数一起使用;

例:select gradeName,count(stuName) from t_student group by gradeName;

4.与having一起使用(显示输出的结果);

例:select gradeName,count(stuName) from t_student group by gradeName having count(stuName)>3;

5.与with rollup 一起使用(最后加入一个总和行);

例:select gradeName,group_concat(stuName) from t_student group by gradeName with rollup;


13.limit 分页查询:select 字段1,字段2,…from 表名 limit 初始位置,记录数;

例子:select * from t_student limit 0,5;

             多表连接查询

表一:t_book

表二:t_bookType

表三:t_priceLevel

select * from t_book,t_bookType;

1.内连接查询(两张或以上的表连接起来查询需要的数据)

根据表一的bookTypeId查询出所有bookTypeName

select * from t_book,t_bookType where t_book.bookTypeId=t_bookType.id;

查询某几个字段:

select bookNme,author from t_book,t_bookType where t_book.bookTypeId=t_bookType.id;

2.外连接查询(两张或以上的表连接起来查询某张表的信息)

3.左连接查询

select * from t_bookleftjoint_bookTypeont_book.bookTypeId=t_bookType.id;

如下图:表一(左边表)t_book的数据全部查出 表二没有的字段用null代替

4.右连接查询

select * from t_bookrightjoint_bookTypeont_book.bookTypeId=t_bookType.id;

查出表二(右边表)的所有信息,表一没有的用null代替

5.多条件连接查询

select * from t_book,t_bookType where t_book.bookTypeId=t_bookType.idandt_book.price>70;

子查询

1.带in关键字的子查询(一个查询语句的条件可能落在另一个select语句的查询结果中)

select * from t_book where bookTypein(select id from t_bookType);

select * from t_book where bookTypenotin(select id from t_bookType);

2.带比较运算符的子查询(子查询可以使用比较运算符)

select * from t_book where price>=(select price from t_priceLevel where priceLevel=1);

3.带exists关键字的子查询(加入子查询查询到记录,则进行外层查询,否则,不执行外层查询)

select * from t_book whereexists(select * from t_booktype);

select * from t_book wherenot exists(select * from t_booktype);

4.带any关键字的子查询(any关键字表示满足其中任一条件)

select * from t_book where price>=any(select price from t_priceLevel);

5.带all关键字的子查询(all关键字表示满足所有条件)

select * from t_book where price>=all(select price from t_priceLevel);

合并查询

1.union

使用union关键字是,数据库系统会将所有的查询结果合并到一起,然后去掉相同的记录;

select id from t_book union select id from t_bookType;

2.union all

使用union all,不会去除掉重复的记录;

select id from t_book union allselect id from t_bookType;

摘自https://blog.csdn.net/github_37767025/article/details/67636061

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,658评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,482评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,213评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,395评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,487评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,523评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,525评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,300评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,753评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,048评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,223评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,905评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,541评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,168评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,417评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,094评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,088评论 2 352

推荐阅读更多精彩内容