SELECT 1; # 基本的SELECT的查询语句 SELECT 字段1,字段2....... FROM 表名SELECT 1+1;SELECT 2*3;SELECT 1,3*2;SELECT 1+1,3*2FROM DUAL; # DUAL伪表SELECT * # * 表示 通配符 意思是表中的所有的字段(或列)FROM employees; # 注意:需要锁定到对应的数据库,才可以查询到,不然报错SELECT employee_id, last_name, salary # 对应查找的字段,注意要锁定到对应的数据库才行FROM employees; # 表明# 找到的显示的结果 :称为 结果集# 列的别名 就是把所对应的属性名,改个名字显示,但是实际的属性名没有改变的# AS 全称:alius(别名) 可以省略# 列的别名可以使用 一对 "" 双引号,使用这种方式起别名SELECT *FROM employees;SELECT employee_id emp_id, last_name ,salary #emp_id 是employee_id 的另外起的名字"别名"FROM employees; # 同样需要在对应的数据库中操作才行# 使用 AS 起别名SELECT employee_id emp_id, last_name AS 'name', department_idFROM employees;# 使用一对双引号 "" 起别名SELECT employee_id emp_id , last_name AS lname ,department_id "dept_id" # 字段(列)FROM employees; # 表名SELECT employee_id emp_id ,last_name AS lname , department_id "部门" # 中文也是可以的FROM employees;SELECT 2*3,1,2,3, "结果"FROM DUAL;SELECT '结果',2*3 # 注意字符串,日期,时间使用单引号‘’ 括起来FROM DUAL;SELECT *FROM employees;SELECT employee_id emp_id,last_name AS lname ,department_id "部门", salary*12 annual_salFROM employees;SELECT employee_id emp_id,last_name AS lname,departments_id "部门",salary*12 annual salFROM employees; # 这里的 annual sal别名中间插了空格,有没有使用双引号,无法识别报错SELECT employee_id emp_id ,last_name AS lname,department_id "部门",salary*12 AS annual salFROM employees; # 使用 AS 同样无法识别报错# 正确使用SELECT employee_id emp_id,last_name AS lname,department_id "部门",salary*12 "annual sal"FROM employees; # 这里我们使用双引号,可以执行结果,没有报错# 去除重复行 DISTINCT# 查询员工表中一共有那些部门 id呢SELECT department_id #(字段,列)FROM employees;SELECT department_idFROM employees; # 结果 107行SELECT DISTINCT department_id #去除重复的字段(列) DISTINCTFROM employees; # 结果 12 行# 错误的示范SELECT salary,DISTINCT department_idFROM employees; # 注意去重复 DISTINCT 不可以插入到字段的中间,因为对应的列数不一致的# 比如 salary 有12列,而department_id 却有90多列,无法整形显示出来SELECT DISTINCT salary # 57 行FROM employees;SELECT department_id DISTINCTFROM employees; # 同样去重复行DISTINCT,不可以出现在字段的后面SELECT DISTINCT department_id # 12 行FROM employees;SELECT DISTINCT department_id,salaryFROM employees;# 去重复一最多的显示出来SELECT DISTINCT salary,department_idFROM employees;# 空值参与运算# 空值:null# null 不等于 0 ,也不等于"",空字符串,null 是会占空间的,表示没有SELECT *FROM employees;# 空值参与运算;结果也一定是为空的SELECT employee_id,salary "月工资",salary*(1+commission_pct)*12 "年工资"FROM employees;SELECT employee_id, salary "月工资",salary*10 "工资加薪10倍"FROM employees;# 实际问题的解决方案,引入 :IFNULLSELECT employee_id,salary "月工资",salary*(1+IFNULL(commission_pct,0))*12 "年工资",commission_pctFROM employees;# 着重号 + '' 单引号# 就是与关键词,发生了冲突性,加着重号取出冲突性,SELECT *FROM employees;SELECT *FROM ORDER; # order 字段就与关键词冲突了,报错# 加上着重号,去掉冲突SELECT *FROM 'order';# 查询常数用 ‘’单引号,同字符串,日期,时间一样使用单引号括起来SELECT '尚硅谷',employee_id,last_nameFROM employees;SELECT '尚硅谷',123 employee_id,last_nameFROM employees;SELECT '尚硅谷','123' employee_id,last_nameFROM employees;# 显示表的结构 DESCRIBE 或者是 DESC 简写DESCRIBE employees; # 显示了表中字段的详细信息DESC employees; # 显示表中字段(列)的详细信息DESCr employees; # 报错,没有这样的简写方式# 过滤数据# 使用WHERE:将不满足条件的行过滤掉# 注意: WHERE 子句紧跟着 FROM 的子句,不然报错的# 注意:因为是WHERE是紧跟FROM 的所以 FROM后面不加 ;(分号) 不然报错的SELECT *FROM employees;# 与WHERE 连用不要加; 分号#查询 90 号部门的员工信息WHERE department_id = 90;SELECT *FROM employeesWHERE department_id=90;SELECT *FROM employeesWHERE last_name = 'king'; # 注意:字符串使用单引号括起来的SELECT *FROM employees;SELECT *FROM employeesWHERE salary >= 240000;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。