查询襄阳的员工姓名和性别,性别要求显示为 男 女
SELECT ename,(CASE WHEN sex='F' THEN '女' ELSE '男' END)sex
FROM emp
WHERE jiguan='襄阳'
查询所有的订单,显示订单日期 订单数量 订单状态
SELECT saleDate,salesQuantity,(CASE WHEN saleState=1 THEN '新建' WHEN saleState=2 THEN '已下单' ELSE '已发货' END)AS '订单状态'
FROM soldnote
查询第3~6行的学生姓名和年龄
SELECT stuName,stuAge
FROM student
LIMIT 2,4
最大值max(字段名) 最小值min(字段名) 平均值(avg(字段名)) 总和sum(字段名) 总个数count(*) 聚合函数
查询计算机专业的学生最大年龄 最小年龄 平均年龄 总年龄 总人数
SELECT max(stuAge),min(stuAge),avg(stuAge),sum(stuAge),count(*)
FROM student
WHERE stuMajor='计算机'
查询所有的员工来自于哪些城市(不能重复显示,NULL不显示) --去重
SELECT DISTINCT jiguan
FROM emp
WHERE jiguan IS NOT NULL
查询所有的学生姓名和专业,如果未录入专业,显示为暂无
SELECT stuName,IFNULL(stuMajor,'暂无')
FROM student
查询所有的产品信息,根据库存由小到大排列排序 ORDER BY 字段名 排序的规则 ASC:升序 DESC:降序
SELECT productID,pName,price,pes
FROM product
ORDER BY pes ASC
查询所有的员工姓名、薪资,要求根据薪资降序,部门编号升序排序
查询每个专业的员工总人数,显示专业名称和总人数 结果集中同时出现普通字段和聚合函数时,必须使用分组
SELECT zhuanye,count(*)rs
FROM emp
WHERE zhuanye IS NOT NULL
GROUP BY zhuanye
查询每个城市的年龄大于17岁的学生总人数,显示城市名称和总人数
查询每门课程的最高分,显示课程编号和最高分,分数降序显示
SELECT cid,max(score)zgf
FROM grade
GROUP BY cid
ORDER BY zgf DESC
查询除了南阳以外的每个城市的客户总人数,只显示1人以上的城市名称和总人数
SELECT cAddress,count(*)zrs
FROM customer
WHERE cAddress<>'南阳'
GROUP BY cAddress
HAVING zrs>1
查询2~4条学生姓名
查询st1101和st1102班的计算机专业的班级名称和学生姓名 多表 内连接查询 王氏大法五步曲
- 搭建结构
- 表通过逗号依次排在from后面
- 扯关系(n张表n-1个关系)
- 处理 的 前面的条件,通过and依次排在where后面
- 处理 的 后面的结果,通过逗号依次排在select
- 考虑group by;order by;limit;having...
SELECT classes.bjname,student.stuName
FROM classes,student
WHERE classes.bjid=student.bjid AND
classes.bjname IN('st1101','st1102') AND
student.stuMajor='计算机'
统计每个产品的销售总数量,要求显示产品名称和销售总数量
SELECT p.pName,sum(s.salesQuantity)
FROM soldnote s,product p
WHERE s.productID=p.productID
GROUP BY p.pName
查询st1101班襄阳的JAVA课程的分数
SELECT g.score
FROM classes c,student s,course co,grade g
WHERE c.bjid=s.bjid AND s.stuid=g.stuid AND co.cid=g.cid AND c.bjname='st1101' AND s.stuAddress='襄阳' AND co.cname='JAVA'