面试常问问题——关于常用sql查询语句
1、select
-- 第一种 select * from 表名称 -- 第二种 select 列名称 from 表名称
2、select DISTINCT 去重
SELECT DISTINCT 列名称 FROM 表名称
3、where子句
1 -- 第一种 2 SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 3 4 -- 第二种 5 SELECT * FROM 表名称 WHERE 列 运算符 值
4、ORDER BY 用于对结果集进行排序
1 -- 第一种 2 SELECT 列1,列2 FROM 表名称 ORDER BY 列1 3 4 -- 第二种 5 SELECT 列1,列2 FROM 表名称 ORDER BY 列1,列2 6 7 -- 第三种 8 SELECT 列1,列2 FROM 表名称 ORDER BY 列1 DESC 9 10 -- 第四种 11 SELECT 列1,列2 FROM 表名称 ORDER BY 列1,列2 ASC
5、top
1 SELECT * 2 FROM 表名称 3 LIMIT 5
6、like
1 SELECT column_name(s) 2 FROM table_name 3 WHERE column_name LIKE pattern
7、In
1 SELECT column_name(s) 2 FROM table_name 3 WHERE column_name IN (value1,value2,...)
8、Between
1 SELECT column_name(s) 2 FROM table_name 3 WHERE column_name 4 BETWEEN value1 AND value2
9、As 取别名
1 SELECT po.OrderID, p.LastName, p.FirstName 2 FROM Persons AS p, Product_Orders AS po 3 WHERE p.LastName='Adams' AND p.FirstName='John'
10、内连接Inner join: 只返回两个表中匹配的行
1 SELECT * 2 FROM 表1 3 INNER JOIN 表2 ON 表1.列名 = 表2.列名;
11、左链接(LEFT JOIN): 返回左表(表1)的所有行和与右表(表2)中匹配的行
1 SELECT * 2 FROM 表1 3 LEFT JOIN 表2 ON 表1.列名 = 表2.列名;
12、右连接(RIGHT JOIN):返回右表(表2)的所有行和与左表(表1)中匹配的行
1 SELECT * 2 FROM 表1 3 RIGHT JOIN 表2 ON 表1.列名 = 表2.列名;
13、全外连接(FULL OUTER JOIN):返回两个表中所有的行,不管是否匹配
1 SELECT * 2 FROM 表1 3 FULL OUTER JOIN 表2 ON 表1.列名 = 表2.列名;
14、count的用法
1 SELECT COUNT(column_name) FROM table_name
15、group by的用法
1 SELECT Customer,SUM(OrderPrice) 2 FROM Orders 3 GROUP BY Customer
16、HAVING的用法,使用HAVING子句原因是,WHERE 关键字无法与合计函数一起使用
1 SELECT Customer,SUM(OrderPrice) 2 FROM Orders 3 WHERE Customer='Bush' OR Customer='Adams' 4 GROUP BY Customer 5 HAVING SUM(OrderPrice)>1500

浙公网安备 33010602011771号