(一)检索数据
1、SELECT语句
假设针对一个含商品和供应商信息等的数据库,进行SQL语句的操作:
(1)检索单个列:
SELECT prod_name --语法:SELECT(关键字) + 列名 +
FROM Products; --FROM(关键字)+ 表名 ; 以分号结合本条语句
(2)检索多个列:
SELECT prod_id,prod_name,prod_price
FROM Products;
(3)检索所有列:
SELECT *
FROM Products;
(二)排序检索数据
1、排序数据
SELECT prod_name
FROM Products
ORDER BY prod_name;
2、按多列排序
SELECT prod_name
FROM products
ORDER BY prod_price,prod_name;
3、按位置排序
SELECT prod_id,prod_price,prod_name
FROM Products
ORDER BY 2, 3;
4、指定排序方向
SELECT prod_id,prod_price,prod_name
FROM Products
ORDER BY prod_price DESC; --DESC按降序排列
(三)过滤数据
1、 WHERE子句
SELECT prod_name, prod_price
FROM Products
WHERE prod_price = 3.49;
2、WHERE子句操作符
(1)检查单个值
SELECT prod_name, prod_price
FROM Products
WHERE prod_price < 10;
(2)不匹配检查
SELECT vend_id, prod_name
FROM Products
WHERE vend_id <> 'DLL01'; --供应商ID不等于DLL01
(3)范围值检查
SELECT prod_name, prod_price
FROM Products
WHERE prod_price BETWEEN 5 AND 10;
(4)空值检查
SELECT prod_name
FROM Products
WHERE prod_price IS NULL;
(四)高级过滤数据
1、AND、OR操作符
SELECT prod_name, prod_price
FROM Products
WHERE (vend_id = 'DLL01' OR vend_id = 'BRS01')
AND prod_price >= 10; --查询供应商ID为DLL01或者BRS01的产品中价格大于等于10的产品信息
2、IN操作符(IN和OR比较,建议使用IN)
SELECT prod_name, prod_price
FROM Products
WHERE vend_id IN ('DLL01', 'BRS01') --检索供应商ID为DLL01和BRS01的所有产品
ORDER BY prod_name;
3、NOT操作符(在复杂子句中,NOT非常有用)
SELECT prod_name
FROM Products
WHERE NOT vend_id = 'DLL01' --查询供应商ID不为DLL01的所有产品信息
ORDER BY prod_name;
(五)用通配符进行过滤
1、LIKE操作符
SELECT prod_id, prod_name
FROM Products
WHERE prod_name LIKE '%bean bag%'; --查询产品名称中间字符为'bean bag'的产品信息,
--不论这个字符串前面和后面有什么字符,也不论前后有几个字符
SELECT prod_id, prod_name
FROM Products
WHERE prod_name LIKE 'Fi%h'; --%放中间的示例
2、下划线_通配符
SELECT prod_id, prod_name
FROM Products
WHERE prod_name LIKE '_ish'; --下划线_只能匹配一个字符
3、方括号[]通配符
-- 查询所有名字以J和M开头的联系人
SELECT cust_contact
FROM Custumers
WHERE cust_contact LIKE '[JM]%';
-- 查询所有名字不以J和M开头的联系人
SELECT cust_contact
FROM Custumers
WHERE cust_contact LIKE '[^JM]%'; --用^符号否定
4、注意事项
(1)不要过分使用通配符
(2)除非绝对必要否则不要把通配符y用在搜索模式的开始处,因为放在开始处搜索起来是最慢的
(3) 注意通配符的应用,如果放错位置可能不会返回你想要的结果
(六)创建计算字段
1、拼接字段
(1)字段,基本与“列”的意思相同。
拼接字段,就是像这样“123”拼接“456”,得到"123456",不同的数据库语言使用不同的字符,以SQL为例:
SELECT vend_name + '(' + vend_country + ')'
FROM Vendors
ORDER BY vend_name;
(2)下面给代码加点“料”——函数RTRIM,作用是去掉值右边的所有空格。
SELECT RTRIM(vend_name) + '(' + RTRIM(vend_country) + ')'
FROM Vendors
ORDER BY vend_name;
类似的“TRIM”是去掉左右空格,“LTRIM”去掉左边空格。
(3)使用别名
SELECT RTRIM(vend_name) + '(' + RTRIM(vend_country) + ')'
FROM Vendors
ORDER BY vend_name;