1 查询一个字段
- select 字段名 from 表名;
其中要注意:
select和from都是关键字。
字段名和表名都是标识符。
强调:
对于SQL语句来说,是通用的,
所有的SQL语句以“;”结尾。
另外SQL语句不区分大小写,都行
2 查询两个字段,或者多个字段怎么办?--------使用逗号隔开“,”
3 查询所有字段怎么办?
(1)第一种方式:可以把每个字段都写上
select a,b,c,d,e,f... from tablename;
(2)可以使用 select * from dept;
这种方式的缺点:
1、效率低
2、可读性差。
在实际开发中不建议,可以自己玩没问题。
你可以在DOS命令窗口中想快速的看一看全表数据可以采用这种方式。
4 给查询的列起别名?
select deptno,dname as deptname from dept;
(1)使用as关键字起别名。
注意:只是将显示的查询结果列名显示为deptname,原表列名还是叫:dname
记住:select语句是永远都不会进行修改操作的。(因为只负责查询)
(2)as关键字可以省略吗?可以
select deptno,dname deptname from dept;
(3)假设起别名的时候,别名里面有空格,怎么办?
select deptno,dname dept name from dept;(false)
(4)DBMS看到这样的语句,进行SQL语句的编译,不符合语法,编译报错。怎么解决?
select deptno,dname 'dept name' from dept; //加单引号
select deptno,dname "dept name" from dept; //加双引号
注意:在所有的数据库当中,字符串统一使用单引号括起来,
单引号是标准,双引号在oracle数据库中用不了。但是在mysql
中可以使用。
再次强调:数据库中的字符串都是采用单引号括起来。这是标准的。
双引号不标准。
5 计算员工年薪?sal * 12
也可以这么使用:
select ename,sal*12 as yearsal from emp;// 可以使用别名
select ename,sal*12 as '年薪' from emp; //别名是中文,用单引号括起来。
6 把查询结果去除重复记录【distinct】
(1)注意:原表数据不会被修改,只是查询结果去重。
去重需要使用一个关键字:distinct
mysql> select distinct job from emp;
(2)
// 这样编写是错误的,语法错误。
// distinct只能出现在所有字段的最前方。
mysql> select ename,distinct job from emp;
(3)
// distinct出现在job,deptno两个字段之前,表示两个字段联合起来去重。
mysql> select distinct job,deptno from emp;
(4)统计一下工作岗位的数量?
select count(distinct job) from emp;