这里也相当于是一个回顾,对于日期乘除是不合法的,包含空值的表达式仍为空,别名使用双引号,

你不加也行,但是你要加引号一定是双引号,双竖线表示连接,JAVA中应使用连接符加号,日期和字符只能在单引号中出现,

比如输出,distinct的是区分关键字的,区分重复的列给你滤掉,大家看一下这个写法

select last_name,distinct department_id from employees;

很多人刚开始学的时候容易出错

mysql双竖线拼接结果为1 sql语句双竖线_数据

查询一下last_name,department_id,from employees,我把这个先去掉

select last_name,department_id from employees;

mysql双竖线拼接结果为1 sql语句双竖线_mysql双竖线拼接结果为1_02

每个人的名字和他的部门号,这每个人都有,所以这样查询一点问题都没有,那我们再这样看,我在这里加一个distinct,

select last_name, distinct department_id from employees;

这能运行成功不

mysql双竖线拼接结果为1 sql语句双竖线_数据_03

看一下效果

mysql双竖线拼接结果为1 sql语句双竖线_mysql双竖线拼接结果为1_04

缺失表达式,怎么解释,你看是不是这样,我这个employees表里面应该有107条记录,last_name应该有107个,

department_id正常也是107个,里边会有重复的,这样的形式出现,但是你一加distinct,刚刚是不是只有12个,

这边12个,这边107个,你怎么匹配,没法一对一对应上,所以说就错了,这个就是刚开始学的时候要注意的,distinct

不是你随意加的,你左右这两个作为列,一个107个,一个12个,这个是不行的,我们后面讲主函数的时候也会有对应的

一个问题,这个就是一个小总结一样,我们直接看这个练习,第一个

1.	SQL*PLUS命令可以控制数据库吗? 

这个非常果断的答,否,不能,控制数据库,你说SQL可以,但是SQL PLUS是不能的

2.	下面的语句是否可以执行成功  可以
select last_name , job_id , salary as sal
from employees; 

这里起了一个别名,没有问题,这个是可以的

3.	下面的语句是否可以执行成功  可以
select  *  from employees; 

这个也可以,查询employees表中所有的列

4.	找出下面语句中的错误  标点符号需要是英文格式下的。
select employee_id , last_name,
salary * 12  “ANNUAL  SALARY”
from employees;

一年的工资,起了个别名,猛一看好像没啥问题,或者你要是看不出来的时候怎么办,把它粘到编译器里面,

这里的分号要去了

mysql双竖线拼接结果为1 sql语句双竖线_数据_05

确实有错

mysql双竖线拼接结果为1 sql语句双竖线_mysql双竖线拼接结果为1_06

你看,这个符号错了,这儿是用英文的符号,这儿是中文的符号,所以这里你要改成这个

select employee_id , last_name,
salary * 12  "ANNUAL  SALARY"
from employees;

相应的你看后面这个引号,也有可能有同样的问题,你的改一改,粘过来的格式不匹配的,我们改成双引号,

英文格式下的,再来,好了,就好使了,

标点符号需要是英文格式下的,有两个错

5.	显示表departments的结构,并查询其中的全部数据
desc departments;
select * from departments;

我们不演示了,直接在这里写了,desc departments显示这个表的结构,并查询其中的全部数据,

大小写都可以

select * from departments;

分号结束,查询所有数据

6.	显示出表employees中的全部job_id(不能重复)
Select distinct job_id from employees;

来我们运行一下

mysql双竖线拼接结果为1 sql语句双竖线_SQL_07

7.	显示出表employees的全部列,各个列之间用逗号连接,列头显示成OUT_PUT
a)	select employee_id ||','|| last_name||','||salary "OUT_PUT"
b)	from employees

这就是别名呗,显示这个表的全部列,你得知道有哪些列,

desc employees;

mysql双竖线拼接结果为1 sql语句双竖线_双引号_08

这个列有点多啊,有点多怎么办,我就只选其中几列来写吧,意思是一样的,

select employee_id ||','|| last_name||','||salary "OUT_PUT"
from employees

中间用逗号连接,last_name,再加上一个叫salary,然后我就不写了,整个给一个别名,这个大家要注意,

在这不能起个别名,因为现在只有一列,中间是连接起来的,这是一列,起个别名,双引号连起起来,他写的

是"OUT_PUT",中间用下划线,from employees,这里就给你打印出来了,我这里写得比较短了,你可以把所有的列都

加上,就是select from的一个应用