#基本的SELECT语句
/*
2 SQL的规则 ---必须要遵守
SQL的规范 ---建议遵守
3 MySQL的三种注释的方式 # --
4 导入现有的数据表、表的数据
方式1:source 文件的全路径名
方式2:基于具体的图形化界面工具可以导入数据
比如:SQLyog中 选择 “工具”--”执行sql脚本“--选中xxx.sql文件
*/
USE dbtest1;
-- 这是一个查询语句
SELECT * FROM emp;
INSERT INTO emp
VALUES(1002,'Tom');#字符串、日期时间类型的变量需要使用一对‘’表示
INSERT INTO emp
VALUES(1003,'Jerry');
SELECT * FROM emp\G
#5.最基本的SELCET查询语句:SELECT 字段1,字段2... FROM 表名`emp``emp`
SELECT 1+1,3*2;
SELECT 1+1,3*2
FROM DUAL;#dual:伪表
# *:表中的所有字段(或列)
SELECT * FROM employees;
SELECT employee_id,first_name,hire_date
FROM employees;
#6.列的别名
#AS:全称:alias(别名),可以省略
#列的别名可以使用一对双引号""引起来,不要使用单引号‘’
SELECT employee_id emp_id,first_name AS fname,hire_date "雇佣时间",salary*12 AS "annual salary"
FROM employees;
#7.去除重复行
#查询员工表中一共有哪些部门id
#错误的,没有去重的情况:
SELECT department_id
FROM employees;
#正确的,去重的情况
SELECT DISTINCT department_id
FROM employees;
#错误的:
SELECT salary,DISTINCT department_id
FROM employees;
#仅仅是没有报错,但是没有实际意义
SELECT DISTINCT department_id,salary
FROM employees;
#8.空值参与运算
#1.空值:null
#2.null不等同于0,'','null'
#3.空值参与运算:结果一定也为空(null)
#解决方案:引入IFNULL
SELECT employee_id,salary "月工资",salary*(1+IFNULL(commission_pct,0))*12 "年工资",commission_pct
FROM employees;
#9.着重号 ``:当表名或者字段名出现和关键字重复的现象时,需要对表名或者字段名加着重号
SELECT * FROM `order`;
#10.查询常数
SELECT '尚硅谷',123,employee_id,last_name
FROM employees;
#11.显示表结构
DESCRIBE employees;#显示了表中字段的详细信息
DESC employees;#效果与DESCRIBE完全相同
#12.过滤数据
#练习:查询90号部门的员工信息
SELECT *
FROM employees
#过滤条件 声明在FROM结构后面
WHERE department_id=90;
#练习:查询last_name为‘King’的员工信息
SELECT *
FROM employees
WHERE last_name='King';
SELECT employee_id,last_name,salary*12*(1+IFNULL(commission_pct,0)) "ANNUAL SALARY"
FROM employees;
SELECT DISTINCT job_id
FROM employees;
SELECT last_name,salary
FROM employees
WHERE salary>12000;
SELECT last_name,department_id
FROM employees
WHERE employee_id=176;
DESC departments;
SELECT *
FROM departments;
MySQL学习之基本的SELECT语句
最新推荐文章于 2024-08-21 23:28:12 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)