语法格式:
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、重庆小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了西林免费建站欢迎大家使用!
select 字段名1,字段名2,... from 表名;
提示:
1.任何一条sql语句以“;”结尾
2.sql语句不区分大小写
查询员工年薪:
select ename.sal * 12 from emp;
image.png
给查询结果的列重命名:
select ename.sal * 12 as yearsal from emp;
(as关键字可以省略)
image.png
当起的别名有中文时,需要给中文加上引号
(标准SQL要求字符串使用单引号,虽然mysql也支持双引号,但最好用单引号,否则到了别的数据库,SQL语句就会报错)
image.png
查询所有字段:
(1)将所有字段以逗号隔开,写在select关键字后面
(2)使用*表示所有字段
image.png
注意:开发中需要使用(1),(2)的执行效率过慢,不适宜在开发中使用。
条件查询
条件查询需要用到where语句,where语句必须放在from语句表的后面
语句格式:
select xxx from xxx where xxx;
你这个也没有列个表结构啊,不会是因为我在pc版看不到你的题目内容?不过估计表结构都差不多,比如是这样:
表名:tb
字段:name(姓名),gender(性别)、salary(工资)
那么sql的写法就是:
select gender, sum(salary) from tb group by gender;
这样就可以了
子查询无非就是:
select AVG(A.工资) as 平均工资 from 表A a where a.id = (select b.id from 表B b ) and a.dept = '部门id'
首先需要确认几个问题或者说条件:
1、所有人员从属于三级部门
2、所有分支终端都是三级部门
这样的话语句是非常好写的,使用表内联合查询就好,不需要使用连接查询语句如下,具体字段我就不写了,自己参悟吧;
SELECT u.*,a.`name`,b.`name`,c.`name` FROM yonghu u,bumen a,bumen b,bumen c
WHERE a.`parentid` = b.`departid` AND b.`parentid` = c.`departid` AND a.`departtype` = 3 AND
b.`departtype` = 2 AND c.departtype = 1 AND u.uid = a.departid;
如果不符合上述条件的话 就需要加入逻辑判断了,比较复杂,下班了 没有心情写!
create table emp(
ename varchar(10),
hiredate date,
salary DECIMAL(10,2)
);
select部门,人,工资from表,(select部门,avg(工资)as平均工资from表groupby部门)平均工资表where表.部门=平均工资表.部门and表.工资=平均工资表.平均工资