目录
同时使用Group BY 和 ORDER BY 的时候,可能排序顺序不对
FROM后面除了可以跟常见的表名外,还可以跟动态表(另一条查询结果)
筛选字符串类属性的时候要用=,有的时候用==会报错,like this【MySQL中】:
筛选为NULL的元素:
以筛选workson中job为空的值为例:
SELECT * FROM workson where job IS NULL ;
【注意】不可以使用job = NULL,亲测无效(查不出来结果)
可以使用IF语句对筛选结果进行选择:
参考网址:Mysql中IF条件语句用法 - 奕锋博客 - 博客园 (cnblogs.com)
同时使用Group BY 和 ORDER BY 的时候,可能排序顺序不对:
可以使用子查询的方法解决(原来From后面除了表名还可以跟其他的)
参考网址:MySQL group by和order by如何一起使用_Mysql_数据库 - 编程客栈 (cppcns.com)
在查询语句中,FROM后面除了可以跟常见的表名外,还可以跟动态表(另一条查询结果),虽然我还不清楚这样的查询效率如何,但是至少利用这种方式能够使我的SQL语句更加清晰,尤其是在多表查询当中:
以 给出每位职员参与项目的最高预算和最低预算(empname员工姓名,highestbudget最高预算,lowestbudget最低预算) 为例
empname员工姓名,proid项目号 在 表workson 里面;
proid项目号,budget预算 在 表project 表里面;
通过proid项目号,我们可以找到每位职员参与的项目预算
SELECT a.empname,Max(b.budget)as highestbudget,Min(b.budget) as lowestbudget
//你要查看的属性,并且为最高预算和最低预算重命名
FROM employee a,
(SELECT m.empid,n.budget FROM workson m,project n WHERE m.proid = n.proid) as b
//一个动态表,其内容为你查出来的东西
WHERE a.empid = b.empid
GROUP BY a.empid ;
参考网址:mysql查询语句中,FROM后面可以跟具体的表名,也可以跟一个查询结果_程宇寒的博客-CSDN博客_sql中from后面可以是