你好,请问在sql中COUNT(*)和别名AS Expr1的用法?有什么特别的?

1、 请查出AUTHORS表中所有在城市OAKLAND的人的所有记录。
2、 查找出AUTHORS表中每个STATE中ZIP的最大值。
3、 请统计出SALES表中QTY的总数,并以“总量”为标题显示该数据。
4、 请将TITLES表中的BUSINESS的所有PRICE求平均值。
5、 查找出AUTHORS表中STATE不是CA的CITY。

原语句:
1、SELECT *, city AS Expr1 FROM authors WHERE (city = 'OAKLAND')
2、SELECT COUNT(*) AS Expr1, state, MAX(zip) AS 最大值 FROM authors GROUP BY state
3、SELECT COUNT(*) AS Expr1, SUM(qty) AS 总量 FROM sales
4、SELECT COUNT(*) AS Expr1, AVG(price) AS 平均值 FROM titles WHERE (type = 'BUSINESS')
5、select city,state AS expr1 from authors where (NOT (state IN ('CA')))

可不可以改成这样的语句:
1、SELECT *, city FROM authors WHERE (city = 'OAKLAND')
2、 SELECT state, MAX(zip) AS 最大值 FROM authors GROUP BY state
3、 SELECT COUNT(*), SUM(qty) AS 总量 FROM sales
4、 SELECT COUNT(*), AVG(price) AS 平均值 FROM titles WHERE (type = 'BUSINESS')
5、 SELECT city FROM authors WHERE (NOT (state IN ('CA')))

前面一个是原语句,后面是朋友帮我改的语句,我想请教各位高手,能不能将“AS Expr1”去掉,或者干脆将后面朋友写的语句中的“COUNT(*), ”去掉,请高手将最好最正确的语句写给我,谢谢!20号之前要答案。多谢了!我是初学者,搞不清楚什么时候要用“AS Expr1”以及不知什么时候要用到“COUNT(*), ”请顺便帮我解答一下用法,多谢了。

陪伴而非守候
浏览 448回答 2
2回答

智慧大石

as expr1只是给city取个别名,加不加无所谓的,不加,表头上显示的是city,加了显示的就是expr1count(*)是计算记录的个数,这个不能删,删了就显示不了有多少个记录了这2个写法都可以,没必要再改了

繁花如伊

1.AS Expr1 可以去掉,这只是在显示的时候给结果数组所设定的一个标题而已,如果不要这个,该列的列名应该是显示为空2.count(*)也可以去掉,因为他根本不在你题目的要求之中。也对其他没有什么作用 (sum函数和avg函数不需要求得count(*)的数目)
打开App,查看更多内容
随时随地看视频慕课网APP