SQL语句公式

本文详细介绍了SQL语言的基本查询语句,包括选取所有记录、按列选择、条件筛选、排序、聚合函数以及分组统计。还涵盖了插入、更新和删除数据的操作,并涉及到了连接查询和子查询等进阶技巧,对于理解和应用SQL有极大的帮助。
摘要由CSDN通过智能技术生成

SQL语句公式
 

SELECT  *  FROM  course;

从course选取所有结果(*代表所有列)

SELECT  s_name,Sex  FROM  student;

从学生表中选取名字列和性别列

SELECT  *  FROM  student  WHERE  sex='男';

从学生表中选取性别是男的所有列(WHERE是条件,汉字和英文需要带'')

SELECT  *  FROM  student  WHERE  sex='女'  AND  age=20;

从学生表中选取性别是女的和年龄等于20的所有列(AND是指必须满足所有条件)

SELECT  *  FROM  student  WHERE  s_name='汪峰'  OR  sex='女';

从学生表中选取名字叫汪峰的或者性别是女的所有列(OR是指满足其中一个条件即可)

SELECT  *  FROM  student  WHERE  s_name  LIKE  '%王%';

从学生表中选取名字带王的所有列(LIKE 操作符用于在WHERE 子句中搜索列中的指定模式。%替代一个或多个字符)

SELECT  *  FROM  student  WHERE  s_name  IN  ('汪峰','张学友');

从学生表中选取名字叫汪峰和张学友的所有列(IN 操作符允许我们在WHERE 子句中规定多个值)

SELECT  *  FROM  student  WHERE  s_name  NOT  IN  ('汪峰','张学友');

从学生表中选取名字不要汪峰和张学友的所有列(NOT 是指不要)

SELECT  *  FROM  student  ORDER  BY  age;

从学生表中按照年龄顺序排列(ORDER BY 语句用于对结果集进行排序。ASC指顺序可隐藏默认)

SELECT  *  FROM  student  ORDER  BY  age  DESC;

从学生表中按照年龄倒序排列(DESC倒序)

SELECT  AVG(grade)  FROM  score;

从分数表中选取分数平均值(AVG 函数返回数值列的平均值。NULL 值不包括在计算中)

SELECT  MAX(grade)  FROM  score;

从分数表中选取分数最大值(MAX 函数返回一列中的最大值。NULL 值不包括在计算中)

SELECT  MIN(grade)  FROM  score;

从分数表中选取分数最小值(MIN 函数返回一列中的最小值。NULL 值不包括在计算中)

SELECT  SUM(grade)  FROM  score;

从分数表中选取分数总数(sum函数返回一列中总数。NULL 值不包括在计算中)

SELECT  COUNT(*)  FROM  score;

从分数表中查询共有多少行(COUNT( ) 函数返回匹配指定条件的行数)

SELECT  COUNT(*)  FROM  score  WHERE  grade=60;

从分数表中查询分数是60的共有多少行

SELECT  *  FROM  score  LIMIT  4;

从分数表中查询第4行(LIMIT 是指在表里面中选取几行)

SELECT  *  FROM  score  LIMIT  2,6;

从分数表中查询第3到第8行(第一行是0,后面是加上前面的和。此公式是选取介于两个值之间的数据范围)

INSERT  INTO  student  (S_id,S_name,Sex,Age)  VALUES  ('029','杨幂幂','女','30');

从学生表中插入一行学生信息(INSERT  INTO用于插入一行)

UPDATE  student  SET  age=47  WHERE  s_id='029';

从学生表中修改ID是029的年龄改成47(UPDATE 用于更改表数据)

DELETE  FROM  student  WHERE  s_id='028';

从学生表中删除ID是028的信息(DELETE用于删除表数据)

SELECT  sex  FROM  student  GROUP  BY  sex;

从学生表中根据性别进行分组结果显示为性别(GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组  函数统计内容为,分组内的数据)

SELECT  sex,COUNT(*)  FROM  student  GROUP  BY  sex;

从学生表中根据性别进行分组并统计各有多少行数结果显示为性别和行数

SELECT  s_id,MAX(grade)  FROM  score  GROUP  BY  s_id;

从分数表中根据学生ID进行分数最高的统计显示结果为学生ID和分数

SELECT  sex,COUNT(*)  FROM  student  GROUP  BY  Sex  HAVING  sex='男';

从学生表中根据性别并且性别为男的统计显示结果为性别和行数(having 条件,结合group by使用)

SELECT  student.s_name,score.Grade FROM  student  LEFT  JOIN  score  ON  student.S_ID=score.S_ID;

从学生表和分数表中根据它们相同选项S_ID选取学生名字和分数(两张表相连,必须由相同的列,LEFT  JOIN是用于表之间相连,ON用于表之间相同的列相连)

SELECT  student.s_name,teacher.T_name,course.C_name,score.Grade FROM  student  LEFT  JOIN  score  ON  student.S_ID=score.S_ID LEFT  JOIN  course  ON  course.C_ID=score.C_ID LEFT  JOIN  teacher  ON  teacher.C_ID=course.C_ID WHERE  student.s_name= 'baby';

从学生表、分数表、教师表、课程表中查询baby的信息。

SELECT  teacher.`T_name`,course.`C_name` FROM  teacher  LEFT  JOIN  course  ON  teacher.`C_ID`=course.`C_ID`;

从教师表和课程表中查询教师姓名和课程名并已教师表为基础(左连接,以左表为基础,返回左表所有的值)

SELECT  teacher.`T_name`,course.`C_name` FROM  teacher  RIGH  JOIN  course  ON  teacher.`C_ID`=course.`C_ID`;

从教师表和课程表中查询教师姓名和课程名并已课程表为基础(右连接,以右表为基础,返回右表所有的值)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值