基础语法-查
- 一、查询数据SELECT
- 1.单列查询
- 2.多列查询
- 3.查所有列
- 4.去重查询:多用于查看种类-DISTINCT关键词
- 5.限制返回行数-LIMIT关键词
- 6.排序
- (1)单列排序
- (2)多列排序
- (3) 升序-ASC关键词
- (4) 降序-DESC关键词
- 二、过滤数据WHERE
- 1.单条件过滤
- 2.多条件过滤
- 3.范围值过滤
- 4.筛选部分数据
- 三、模糊查找-通配符
- 1. %通配符可以代表一个或多个字符
- 2. _通配符只能代表一个字符
查询数据是SQL语言中最常用,也最重要的部分。
一、查询数据SELECT
语法:select column_name from table_name
使用 select 选取列数据,返回的结果是无序的。
1.单列查询
SELECT column FORM table;
2.多列查询
SELECT column1, column2 FORM table;
3.查所有列
SELECT * FROM table;
4.去重查询:多用于查看种类-DISTINCT关键词
SELECT DISTINCT column1, column2 FORM table;
5.限制返回行数-LIMIT关键词
返回两行
SELECT * FROM student limit 2;
6.排序
(1)单列排序
SELECT column FORM table ORDER BY column1;
(2)多列排序
SELECT column FORM table ORDER BY column1, column2;
有先后顺序,先排 列1,再将列1中数值相同、并列在一起的数值按 列2 排序;
(3) 升序-ASC关键词
不写关键词默认是升序;
SELECT column FORM table ORDER BY column1 ASC;
(4) 降序-DESC关键词
SELECT column FORM table ORDER BY column1 DESC;
二、过滤数据WHERE
语法:
SELECT column1, column2, ...
FROM table
WHERE condition;
WHERE condition1 AND condition2 AND condition3 ...;
WHERE condition1 OR condition2 OR condition3 ...;
WHERE NOT condition;
1.单条件过滤
SELECT * FROM table WHERE SName = 'Tom';
(注:非数值型数据要加引号)
2.多条件过滤
SELECT * FROM table WHERE condition1 AND condition2
SELECT * FROM table WHERE condition1 OR condition2
3.范围值过滤
查找价格在50~100(包括两端)之间的两种写法:
SELECT * FROM table WHERE Price<=100 AND Price>=50;
SELECT * FROM table WHERE Price Between 50 AND 100;
4.筛选部分数据
SELECT column (s)
FROM table
WHERE column IN (value1, value2, ...);
或
SELECT column (s)
FROM table
WHERE column IN (SELECT STATEMENT);
或NOT IN 筛选除()之外的数据
三、模糊查找-通配符
模糊查找:有一部数据不知道。比如查一个人名字,只知道他姓李。那就查找所有姓李的人。其中,通配符用于代替不确定的那部分数据。
语法:
SELECT * FROM table WHERE name LIKE '' /NOT LIKE ''
注:模糊查找是LIKE,不是等号=
!!!!!!!!很容易写错
1. %通配符可以代表一个或多个字符
“abc%” 以abc开头,任意字符结尾的数据
‘%abc’ 以abc结尾,任意字符开头的数据
‘%abc%’ 任意字符开头和结尾,中间包含abc
查找姓李的人,名字不一定是几个字:
SELECT * FROM table WHERE name LIKE '李%'
李x,李xx, 李xxx…都会被筛选出来
注:
‘%雷‘是查找到雷就结束了,如果名字是xx雷空格空格,就无法查到,解决办法是改为’%雷%‘,结尾多加一个%来获取可能存在的空格。
2. _通配符只能代表一个字符
找韩梅梅
'韩_ _'√
‘韩 _’ ×
'韩%'√
注:通配符虽然方便,但运行速度比过滤慢,非必要尽量不用。