面试常问问题——关于常用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

 

 

 

 

posted @ 2024-04-03 17:42  Alieen617  阅读(316)  评论(0)    收藏  举报