#DAL语言
#进阶1:基础查询
#select 查询列表 from 表名;
#System.out.println(打印东西);
/*
一、查询的列表可以是:表中字段、常量值、表达式、函数
二、查询的结果是一个虚拟表格。
*/
USE sakila;#最好在最开始指定自己要使用的库,sakila是库,address是表,phone是列名也是字段
#1.查询表中的单个字段
SELECT phone FROM address;
#2.查询表中的多个字段
SELECT phone,city_id FROM address;#没有顺序要求
#3.查询表中的所有字段(双击表可以自动识别表名,使用F12可以规范格式)
#方式一:
SELECT
`postal_code`,
`phone`,
`last_update`
FROM
address;
#方式二:
SELECT * FROM address;
#4.查询常数值
SELECT 100;
SELECT 'John';
#5.查询表达式
SELECT 100%98;
#6.查询函数:
SELECT VERSION();
#7.为字段起别名(便于理解,有重名时便于区分)
SELECT 100%98 AS 结果;
SELECT phone AS 电话,city_id AS 城市 FROM address;#没有顺序要求
SELECT phone 电话,city_id 城市 FROM address;#没有顺序要求
#对于有空格有别的含义可能影响理解的使用引号
SELECT phone AS "out put",city_id 城市 FROM address;#没有顺序要求
#8.去重
SELECT DISTINCT city_id 城市 FROM address;
#9.+号的作用(只有运算符的功能,只能用于两个操作数都为数值型,或是尝试进行转换后再进行运算)
SELECT last_name+90 AS 姓名 FROM actor;
#10.concat的使用,拼接
SELECT CONCAT(last_name," ",first_name) AS 姓名 FROM actor;
#11.选择出IFNULL,存在空值的字段,可以实现将null的值使用0来替代,并输出两者对比
SELECT IFNULL(amount,0) AS 工资,amount FROM payment;
#isnull,判断是否为真,真值返回1,假值返回0
SELECT ISNULL(amount),amount FROM payment;
#进阶2:条件查询
#select 查询列表 from 表名 where 筛选条件;
/*
分类:一、按条件表达式进行筛选
条件运算符:< > = != <> >= <=
二、按逻辑表达式筛选
逻辑运算符:
&& || !
and or not
三、模糊查询
like
between and
in
is null
*/
#一、按条件表达式查询
#1.查询payment表中amount值>7的,用于筛选出某一列符合条件的值
SELECT * FROM payment WHERE amount>7;
#2.查询city_id不等于3的城市地址address和区域district
SELECT address,district FROM address WHERE city_id <> 3;
#二、逻辑表达式筛选
#1.查询payment表中amount值在3和7之间的人员id和amount值
SELECT staff_id,amount FROM payment WHERE amount>=3 AND amount <=7;
#2.查询payment表中amount值不在3和7之间,且的人员信息
SELECT * FROM payment WHERE amount<=3 OR amount>=7 OR staff_id>1;
SELECT * FROM payment WHERE NOT (amount>=3 AND amount <=7) OR staff_id>1;
#三、模糊查询
/*
like 一般和通配符搭配使用 %表示任意多个字符,包含0个字符 _下划线表示任意单个字符(\即可进行转义)
between and 可以提高语句的整洁度,包含临界值,但两个临界值不能调换
in 用于识别字段里的值是否属于in对应的括号里的值,提高简洁度,但in中的值必须一致或兼容。
is null
*/
#1.Like-查询演员名字中包含a的演员信息
SELECT * FROM actor WHERE last_name LIKE '%a%';
SELECT * FROM address WHERE phone LIKE '__4_%';#数值也支持通配符
#escape转义
SELECT * FROM actor WHERE last_name LIKE '_$_%' ESCAPE '$';#$可以换成任意字符,使用escap
sql学习查询语法与分类
最新推荐文章于 2023-08-25 20:02:54 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)