mysql 第一天学习笔记特别好懂 分享给大家(基础查询,条件查询)

学习与:https://www.bilibili.com/video/BV12b411K7Zu?p=39&spm_id_from=pageDriver

表格中字段

在这里插入图片描述
在这里插入图片描述
)]

基础查询


# 基础查询
/*
语法:
select 查询列表(字段名)
form 表名;
-------------------------------------
特点:
1. 查询表中的字段,常量值,表达式,函数
2. 查询的结果是虚拟表格
*/

# 1.查询表中的单个字段
SELECT last_name FROM employees;

# 2.查询表中的多个字段
SELECT last_name, salary, email FROM employees

# 3.查询表中所有字段
SELECT * FROM employees

# 4.查询常量值
SELECT 100
SELECT 'john'

# 5.查询表达式
SELECT 100*98 (+-*/%)

# 6.查询函数
SELECT VERSION()

# 7.为字段起别名
	/*
	特点:
	1. 便于理解
	2. 如果要查询的字段有重名的情况,使用别名可以区分
	*/
	# 方式一
	* SELECT 100*98 AS 结果
	* SELECT last_name AS 名字, salary AS 月薪 FROM employees
	# 方式二 (省略as)
	* SELECT 100*98 结果
	* SELECT last_name 名字, salary 月薪 FROM employees
	# 方式三
	SELECT 100*98 "out put"
	
# 8.去重 ( DISTINCT 关键字 )
	#案例: 查询员工表中涉及到的所有的部门编号
	SELECT DISTINCT department_id FROM employees

# 9. + 号的作用 和 链接字段 ( concat() 方法 ) 
	/*
	特点:
	1. 仅仅只有一个作用: 运算符
		SELECT 100 + 90; 两个都为数值型则运行加法运算;
		SELECT "100" * 90; 如果不同则把不是数值型的转化为数值型再进行运算
						  如果转换失败则把非数值型转化为0惊醒运算
						  其中一方为null 则运算结果一定是null
	*/
	#案例: 查询员工的姓和名并连接成一个字段,字段名为(姓名)
    SELECT 
    	CONCAT(last_name, first_name) as 姓名 
    FROM 
    	employees

条件查询


# 条件查询
/*
语法:
	SELECT 查询列表
	FROM 表名
	where 筛选条件
分类:
一. 按条件表达式筛选
	条件运算符: < > = !+ >= <=
二. 按照逻辑表达式筛选
	逻辑运算符: && || ! 相对如(and, or, not)
三. 模糊查询
	like
	between and
	in
	is null
*/

# 1.按条件表达式筛选
	# 案例一: 查询工资>12000的员工信息
	SELECT 
        *
    FROM 
        employees
    WHERE 
        salary>1200
	# 案例二: 查询部门标号不等于90号的员工名和部门编号
	SELECT 
        last_name,department_id
    FROM 
        employees
    WHERE 
        department_id!=90

# 2. 按逻辑表达式筛选
	# 案例一: 工资在10000在20000之间的员工名,工资和奖金
	SELECT 
        last_name,
        salary,
        commission_pct
    FROM 
        employees
    WHERE 
        salary>=10000
    AND 
        salary<=20000
	# 案例二: 查询部门编号不是在90到100之间,或者工资高于15000的员工信息
	# 解一:
	SELECT 
        *
    FROM 
        employees
    WHERE 
        department_id<90 OR department_id>110
    OR 
    salary>15000
    # 解二:
    SELECT 
    *
    FROM 
        employees
    WHERE 
        NOT(department_id>=90 AND  department_id<=110)
    OR 
    salary>15000

# 3.模糊查询
/*
	like
	between and
	in
	is null
*/

	# (1) like 关键字
	/*
	特点:
	1. 一般和通配符搭配使用
		通配符:
		%:任意多的字符,包含0个字符
		_:任意单个字符
	*/
		# 案例一:查询员工名字中包含a的员工信息
		SELECT 
            *
        FROM 
            employees
        WHERE 
            last_name LIKE '%a%'
		# 案例二:查询员工名字第三个字符为n,第五个字符为l的员工名和工资
		SELECT 
            last_name,
            salary
        FROM 
            employees
        WHERE 
            last_name LIKE '__n_l%'
		# 案例三:查询员工名中第二个字符为_(下划线)的员工名
		SELECT 
            last_name
        FROM 
            employees
        WHERE 
            last_name LIKE '_\_%' 
            # \:转义字符
            #自定义转义字符:last_name LIKE '_$_%' ESCAPE '$'
	# (2) between and 关键字
		# 案例一:查询员工编号在100到120之间的员工信息
		SELECT 
            *
        FROM 
            employees
        WHERE 
            employee_id BETWEEN 100 AND 120 # 包含100和120
	# (3) in 关键字
	/*
	含义:
    1. 判断某字段的值是否属于in列表中的某一项
    特点:
    1. 使用in做筛选比使用or提高了简洁度
    2. in括号内的值类型必须保持一致
    3. 不支持下划线和百分号通配符
	*/
		# 案例一:查询员工的工种编号是IT_PROG、AD_VP,AD_RPES的员工名和工种编号
		SELECT 
            last_name,
            job_id
        FROM 
            employees
        WHERE 
            # job_id = 'IT_PROT' OR job_id = 'AD_VP' OR job_id = 'AD_PRES'
            # 等价于↓
            job_id in('IT_PROT', 'AD_VP', 'AD_PRES')
	# (4)is mull 关键字
	/*
	特点:
	1. = > < != 不能判断null值,只能用is null 或者 安全等与( <=> )
	*/
		# 案例一: 查询没有奖金的员工名和奖金率
		SELECT 
            last_name,
            commission_pct
        FROM 
            employees
        WHERE 
            commission_pct is null
		# 案例一: 查询有!!奖金的员工名和奖金率	
        SELECT 
            last_name,
            commission_pct
        FROM 
            employees
        WHERE 
            commission_pct is not null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值