说在前面:前天看了一个数据提取的sql,发现自己的差距还很大呀,所以这个周末会继续学习。
工作
- 保证自己的心态没有问题就好了,一切都在开始慢慢步入正轨,跟同事的第一次聚餐也结束了,大家这两个月的实习生活也十分的精彩,希望在每个小伙伴在接下来的工作里都能有所成长和发展。
- 收到一个可以写点东西的消息,这个周末会思考一下,如果能有所展现也是不错的。
学习
一、何为战略设计思维(看书)
二、SQL
组合WHERE子句
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| //AND 操操作符 SELECT prod_name,prod_price,prod_id FROM Products WHERE vend_id='DLL01' AND prod_price<=4;
//OR 操作符 SELECT prod_name,prod_price,prod_id FROM Products WHERE vend_id='DLL01' OR vend_id='BRS01';
//求值顺序(AND先于OR) SELECT prod_name,prod_price,prod_id FROM Products WHERE (vend_id='DLL01' OR vend_id='BRS01') AND prod_price>=10;
//IN操作符 SELECT prod_name,prod_price,prod_id FROM Products WHERE vend_id IN ('DLL01','BRS01') ORDER BY prod_name;
//同上功能 SELECT prod_name,prod_price,prod_id FROM Products WHERE vend_id = 'DLL01' OR vend_id = 'BRS01' ORDER BY prod_name;
//NOT操作符(等通于不等于的功能) SELECT prod_name FROM Products WHERE NOT vend_id = 'DLL01' ORDER BY prod_name;
|
- 为什么要用IN操作符?
- 在很多合法选项时,IN操作符的语法更清晰,更直观
- 在与其他AND和OR操作符组合使用IN的时候,求值顺序更加容易管理
- IN操作符一般比一组OR操作符执行得更快
- IN最大的优点是可以包含其他SELECT语句,能够更动态地建立WHERE子句
用通配符进行过滤
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| //LIKE操作符 // % 表示任何字符出现任意次数 SELECT prod_name,prod_id FROM Products WHERE prod_name LIKE 'Fish%';
SELECT prod_name,prod_id FROM Products WHERE prod_name LIKE '%bean bag%';
SELECT prod_name,prod_id FROM Products WHERE prod_name LIKE 'F%y';
// _ 与 % 类似,但只匹配单个字符 SELECT prod_name,prod_id FROM Products WHERE prod_name LIKE '__ inch teddy bear';
// [] 用来指定一个字符集 SELECT cust_contact FROM Customers WHERE cust_contact LIKE '[JM]%' ORDER BY cust_contact;
// 反义用^来表示(或者用NOT来表示) SELECT cust_contact FROM Customers WHERE cust_contact LIKE '[^JM]%' ORDER BY cust_contact;
|
- 使用通配符的技巧:
- 不要过度使用通配符
- 在确实需要使用通配符的时候,也尽量不要把它用在搜索模式的开始处。将通配符放在开始,搜索是最慢的。
- 仔细注意通配符的位置。