数据库查询基本语句

1:基本连接

基本规则:每个目标前必须写明指定表名称

FROM子句包含使用的基表

where子句定义一个同等连接

使用方法:

SELECT A.列1,A.列2,B.列1,A.列3

FROM 表1 A,表2 B

WHERE A.列1=B.列1

2:内连接---等值连接,自动消除不匹配的行

SELECT A.列1,B.列1,B.列2

FROM 表1 A join 表2 B

ON A.列1=B.列1

WHERE 条件                '可加可不加,

3:外连接---返回主表所有行和从表符合条件的行

左外连接 ---左边表为主表,读取所有数据,右表显示匹配行

SELECT A.列1,B.列1,B.列2

FROM 表1 A LEFT OUTER join 表2 B

ON A.列1=B.列1

右外连接        ---右边表作为主表,读取所有数据.左表显示匹配行

SELECT A.列1,B.列1,B.列2

FROM 表1 A RIGHT OUTER join 表2 B

ON A.列1=B.列1

全连接            ---读取所有的值,那个表在前面那个的数据就排在前面.

SELECT A.列1,B.列1,B.列2

FROM 表1 A FULL OUTER join 表2 B

ON A.列1=B.列1

4:交叉连接

1:不带WHERE 子句,返回的结果是两个表所有的数据行的笛卡尔积(所有可能的情况)

SELECT A.列1,B.列1,B.列2

FROM 表1 A CROSS join 表2 B

5:自连接

对一个表进行连接,需要将表虚拟化

SELECT    A.班级名,A.班级人数,B.班级名

FROM 表1 A ,表1 B

WHERE A.班级人数=B.班级人数

这样可以查表1里面,班级人数相同的数据。

6:联合查询

将多个查询合并到一个结果集中。

SELECT 语句

UNION ALL            ---ALL显示所有,不加的话,相同的就省略了。

SELECT 语句

7:使用子查询`嵌套子查询

在WHERE子句后面套用另外一个SQL语句作为限定条件.

8:交查询INTERSECT        ---查询的列相同

SELECT查询1

INTERSECT

SELECT查询2

9:差查询            ---查询的列相同

SELECT查询1

EXCEPT

SELECT查询2

你可能感兴趣的:(笔记,数据库,sql,mysql)