学习网站:https://www.w3cschool.cn/sql/ie7a2fox.html
基本查询
基本查询语句:查询表格全部数据
SELECT * FROM table_name;
查询表格的全部记录的某些字段:
select column1,cloumn2,... from table_name;
查询时合并查询到的重复数据:DISTINCT
查询数据表中的某些字段,但是DISTINCT会合并表中的重复数据,也就是说,所查数据中,重复数据值返回一条
SELECT DISTINCT column1, column2, ... FROM table_name;
列子:查询表中国家的数量
// 使用DISTINCT对重复出现的国家数据只返回一条,这样就保证了返回的COUNT就是国家的数量
SELECT COUNT(DISTINCT Country) FROM Customers;
注意:上述示例在Firefox和Microsoft Edge中不起作用!
由于在Microsoft Access数据库中不支持COUNT(DISTINCT column_name)。在我们的示例中Firefox和Microsoft Edge使用Microsoft Access。
SQL WHERE 子句
基本语法
SELECT column1, column2, ...
FROM table_name
WHERE condition;
注意: WHERE子句不仅用于SELECT语法,还用于UPDATE,DELETE语法等!
WHERE 子句中的运算符
WHERE子句中可以使用以下运算符:
运算符 描述
= 等于
<> 不等于。 注意:在某些版本的SQL中,这个操作符可能写成!=
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
IN 为列指定多个可能的值
AND & OR & NOT 运算符
and:表示为并且,只有链接的两个条件都满足才会被查询出来,多个and连用的话,必须多个条件都同时满足才可以查询出来
例子:
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
or:表示或者,链接的两个条件只要有一个条件满足就会被查询出来,多个
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
not:表示非,或者说取反,满足条件的不会被查出,不满足条件的会被查出,因为not不起多条件链接作用,所以一般只能表示某个条件的取反(注意:小括号括起来的所有条件算是一个条件)
例子:
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;
AND & OR & NOT三者连用时:
这里注意优先级:NOT级别最高,AND级别次之,OR级别最低;
NOT起不到链接作用,主要是对条件的取反。
例子:
// AND 与 OR
SELECT * FROM Customers
WHERE Country='Germany' AND (City='Berlin' OR City='München');
// AND 与 NOT
SELECT * FROM Customers
WHERE NOT Country='Germany' AND NOT Country='USA';
ORDER BY Keyword(按关键字排序)
ORDER BY 关键字用于对结果集进行排序。
排序规则分为:正序(ASC) 和 降序(DESC)
默认情况下为正序,降序的时候使用DESC关键字。
基本语法:
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
例子:按照国家名正序排序,可以省略ASC
SELECT * FROM Customers ORDER BY Country;
按照国家名降序排序排序,不可以省略DESC
SELECT * FROM Customers ORDER BY Country DESC;