Linux-MySQL基本命令-SQL语句

 

服务端命令SQL

在数据库系统中,SQL语句不区分大小写(建议用大写)
SQL语句可单行或多行书写,以“;”结尾
关键词不能跨多行或简写
用空格和缩进来提高语句的可读性
子句通常位于独立行,便于编辑,提高可读性
注释:
SQL标准:
/*注释内容*/ 多行注释
-- 注释内容 单行注释,注意有空格
MySQL注释:
#

SQL优化

查询时,能不要*就不用*,尽量写全字段名
大部分情况连接效率远大于子查询
多表连接时,尽量小表驱动大表,即小表 join 大表
在千万级分页时使用limit
对于经常使用的查询,可以开启缓存
多使用explain和profile分析查询语句
查看慢查询日志,找出执行时间长的sql语句优化

 

sql查询:单表查询和多表查询

 

两张表合并:横向合并、纵向合并

纵向合并:两张表挑出相同的字段进行合并(注意顺序)

 

范例

SQL查询范例

1、给表的字段名添加别名 select stuid as 学生编号,name 姓名,gender 性别 from students;

2、查询年龄大于40的 select * from students where age >40;

3、查找年龄大于20小于40的 select * from students where age < 40 and age > 20; select * from students where age between 20 and 40;(这种是包含)

4、查询以姓名以X开头的 select * from students where name like 'x%';

5、查找字段中为空值得信息 select * from students where classid is null;

6、查找字段值不为空得信息 select * from students where classid is not null;

7、查找报1,2,6班得学生信息 select * from students where classid in (1,2,6);

8、查找年龄,并去掉重复得年龄 select distinct age from students;

9、查询年龄,去掉重复并排序 select distinct age from students order by age;(默认正序) select distinct age from students order by age desc;(倒叙)

10、统计students表总共有多少行 select count(*) from students;

11、统计age年龄的总和 select sum(age) from students;

12、统计年龄最大的 select max(age) from students;

13、统计男女平均年龄 select gender,avg(age) from students group by gender;

14、分别统计每班的女生男生平均成绩(gender性别classid班级age成绩) select gender,classid,avg(age) from students group by gender, classid;

15、基于上条再统计女生的最大年龄 select gender,max(age) from students group by gender having gender='f'; 备注:分完组后再条件用having不能用where

16、按照课程统计没课考试最好的成绩 select courseid,max(score) as 最好成绩 from scores group by courseid;

17、取排序的前3名 select age from students order by age desc limit 3;

18、基于排序跳过2个显示3个 select age from students order by age desc limit 2,3;

多表

1、纵向合并两张表
select stuid as id,name,age,gender from students union select tid,name,age,gender from teachers;
2、基于上条查询 查找age字段大于50的信息
select * from (select stuid as id,name,age,gender from students union select tid,name,age,gender from teachers)as b  where b.age >50;
备注:利用了子查询

子查询:

查找比平均年龄大的信息
select name,age from students where age >(select avg(age) from students);

交叉链接

两张表交叉链接组合
select * from students cross join teachers;

内连接

取两张表的交集实现查找出学生对应的老师
select s.name as 学生name,t.name as 老师name from students as s inner join teachers as t on s.teacherid=t.tid;
备注:因为两种表有相同的字段,为了群分开给它加别名as,

左外链接

两张表A 和 B ,
取A表和B表的与A表相关的部分,A加B的一部分
select stuid,s.name,s.age,s.gender,classid,teacherid,tid,t.name,t.age,t.gender from students as s left join teachers as t on s.teacherid=t.tid;

 

有这样一个表emp

公司人员信息,即对应的领导--(leaderid领导编号)

idnameleaderid
1xiaomingnull
2wanger1
3zhangsan2
4lisi3

现在有这样一个需求,查询每个人员对应的领导是谁

把emp表当作两张表来处理,自链接

 select e.name as emp,l.name as leader from emp as e left outer join emp as l on e.leaderid=1.id;

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451073.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

webAPI token验证

ASP.NET WebApi 实现Token验证 https://www.cnblogs.com/dukang1991/p/5627584.html转载于:https://www.cnblogs.com/KQNLL/p/9757025.html

评论:中国企业向Faceook学习什么

摘要&#xff1a;古人云&#xff1a;“迨天之未阴雨&#xff0c;彻彼桑土&#xff0c;绸缪牖户。且不论究竟谁会成为中国的Facebook&#xff0c;伴随着Facebook因上市带来的又一轮火热&#xff0c;不妨先来看看中国企业最需要向Facebook学习什么。古人云&#xff1a;“迨天之未…

java ++i、i++、i++ + ++i、i++ + i++原理

先上代码&#xff1a; public static void main(String args[]) {int A 1;int B 10;int C 100;int D 1000;System.out.println(A);System.out.println(B);System.out.println(C C);System.out.println(C);System.out.println(D D);System.out.println(D);} 在来运行结果…

一个判断session是否过期的小技巧

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Session一直是我们做web项目经常使用的&#xff0c;以前没太注意&#xff0c;这次又细致的看了下&#xff01; 1.session其实就是一个Ma…

扩展方法

扩展方法是写在静态类中&#xff0c;且方法是静态方法。 不限制参数的数量。 不限制返回类型。 不限制可使用扩展方法的类型。 和普通方法编写相似&#xff0c;唯一不同的是每一个扩展方法都必须有一个固定的参数。statc void Method&#xff08; this DataType name&#xff0…

cpu执行命令方式

(一)有序处理器 早期的处理器为有序处理器&#xff08;In-order processors&#xff09;&#xff0c;有序处理器处理指令通常有以下几步&#xff1a; 指令获取如果指令的输入操作对象&#xff08;input operands&#xff09;可用&#xff08;例如已经在寄存器中了&#xff09…

jQuery基础-事件

只能添加一个处理函数&#xff0c;后面的会覆盖前面 会有兼容性差异 冒泡 会依次检查父元素 截获冒泡 或者 最大的缺陷 并且在IE和NetSpace里面分别为冒泡和捕获两种 多个处理函数 依次执行 捕获--->自己--->冒泡 true 只捕获&#xff0c;不冒泡 false 只冒泡 从父元素的…

别的AI还在打游戏,这个AI已经当上“超级马里奥”游戏策划了|GECCO最佳论文

AI打游戏已经不是什么新鲜事了&#xff0c;“沉迷”Dota 2、星际争霸、LOL的AI一个接一个的出现。 但是你也许不知道&#xff0c;相比这些“游戏玩家”AI&#xff0c;还有一位优秀的AI&#xff0c;直接当起了“游戏策划”&#xff0c;做的还是脍炙人口的“超级马里奥”。 &…

单点登录的三种实现方式

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 单点登录SSO&#xff08;Single Sign On&#xff09;说得简单点就是在一个多系统共存的环境下&#xff0c;用户在一处登录后&#xff0c;…

快速判断数组中每个对象同一属性值是否相同

做批量查询的时候&#xff0c;要确定数组中的多个对象下的字符串是否能全部匹配&#xff0c;这时需要在匹配的名称对象中通过字段记录该名称是否匹配。 const search [ { name: B, isExistence: false },{ name: C, isExistence: false } ]; 这时要确定 search 是否全部匹配上…

java对象占用内存大小?

一个不包含任何内部成员变量的空Object大约占33byte&#xff0c;若增加成员变量&#xff0c;则增加相应大小的内存占用。 测算方式&#xff1a;设置jvm的堆大小为1m&#xff0c;在堆中不停new不含任何成员变量的OOMObject对象&#xff0c;直到堆内存溢出。如下图&#xff0c;在…

Java程序员面试中的多线程问题

很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework)&#xff0c;理解核心线程概念时&#xff0c;娴熟的实际经验是必需的。这篇文章收集了 Java 线程方面一些典型的问题&#xff0c;这些问题经常被高级工程师所问到。 0.Java 中多线程同步是什…

SpringBoot2使用WebFlux函数式编程

本文只是简单使用SpringBoot2使用WebFlux的函数式编程简单使用&#xff0c;后续会继续写关于Webflux相关的文章。 最近一直在研究WebFlux&#xff0c;后续会陆续出一些相关的文章。 首先看一下Srping官网上的一张图&#xff0c;对比一下SpringMvc和Spring WebFlux&#xff0c;如…

单点登录原理与简单实现

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、单系统登录机制 1、http无状态协议 web应用采用browser/server架构&#xff0c;http作为通信协议。http是无状态协议&#xff0c;浏…

java接口类支持多继承

一个类只能extends一个父类&#xff0c;只能有一个父类&#xff0c;但可以implements多个接口。java通过使用接口的概念来取代C中多继承。与此同时&#xff0c;一个接口则可以同时extends多个接口&#xff0c;却不能implements任何接口。Java中的接口是支持多继承的。

xmind-HTTP协议

转载于:https://www.cnblogs.com/margot921/p/9764788.html

弹性布局

弹性布局 一、Flex布局是什么&#xff1f; Flex是Flexible Box的缩写&#xff0c;意为”弹性布局”&#xff0c;用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。 二、基本概念 采用Flex布局的元素&#xff0c;称为Flex容器&#xff08;flex container&…

Java-Type简单分类

&#xff08;1&#xff09;ParameterizedType&#xff1a; 参数化类型&#xff0c;例如List<T>。 &#xff08;2&#xff09;GenericArrayType&#xff1a; 泛型数组类型&#xff0c;例如T[]。 &#xff08;3&#xff09;TypeVariable&#xff1a; 泛型的类型变量&a…

解决dataTable 报错:cannot read property “style“ of undefined

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 其实这错&#xff0c;我之前也遇到过&#xff0c;只是太久了&#xff0c;没有记录下来&#xff0c; 今天看到群里朋友也遇到这个错误&a…

万恶之源 - Python基础数据类型一

整数 整数在Python中的关键字用int来表示; 整型在计算机中运于计算和比较 在32位机器上int的范围是: -2**31&#xff5e;2**31-1&#xff0c;即-2147483648&#xff5e;2147483647 在64位机器上int的范围是: -2**63&#xff5e;2**63-1&#xff0c;即-9223372036854775808&…