三、思维导图
一、语句
1.设置查询条件:
select * from 表名 where 列名 like ‘关键字%’
2.排序:
ORDER BY 列名 DESC 降序
3.插入:
Insert into 表名 (‘列信息’,‘列信息’)
4.从其他数据表中读取数据 插入表中
Insert table_name[column_list]
Select column_list
FROM table_list
WHERE search_condirions
5.向数据库插入语句
Select<select_list>
INTO new_table
FROM{<table_source>}[,…n]
WHERE<search_condition>
6.修改数据库
Update[TOP]{table_name|view_name}
Set
{column_name= {expression|DAFAULT|NULL}|@variable= expression}[…n]
Where{search_conditions}
5.删除
Delete from <table name>
Where<search condition>
6.TOP关键字:
[
Top(expression)[PERCENT]
[With ties]
]在这里插入代码片
7.Compute 子句
[
Compute
{{avg|count|Max|MIN|STDEV|STDEVP|VAR|VARP|SUM}
(experssion)}[,…n]
[BY experssion][,…n]
二、连接
1.内连接(inner join)
内连接基本与自然连接相同,不同之处在于自然连接要求是同名属性列的比较,而内连接则不要求两属性列同名,可以用using或on来指定某两列字段相同的连接条件。
From table1 inner join table2 [ON join conditions]
[where search_conditions]
[ORDER BY roder_experssion]
2.外连接(outer join)
内连接消除与另一个表的任何行不匹配的行,而外连接会返回FROM子句中提到的至少一个表或视图中的所有行,只要这些行符合任何搜索条件。
因为,在外连接中参与连接的表有主从之分,以主表的每行数据去匹配从表中的数据行,如果符合连接条件,则直接返回到查询结果中;如果主表中的行在从表中没有找到匹配的行,主表的行仍然保留,并返回到查询结果中,相应的从表中的行被填上空值后也返回到查询结果中。
3.左外连接(left outer join)
左外连接是在两表进行自然连接,只把左表要舍弃的保留在结果集中,右表对应的列上填null。
select
a.*,b.* from a left join b
on a.id=b.parent_id
4.右外连接(rignt outer join)
右外连接是在两表进行自然连接,只把右表要舍弃的保留在结果集中,左表对应的列上填null。
select
a.*,b.* from a right join b
on a.id=b.parent_id
5.全外连接(full join)
全外连接是在两表进行自然连接,只把左表和右表要舍弃的都保留在结果集中,相对应的列上填null。
SELECT A.班级名,A.班级人数,B.姓名,B.联系方式
FROM 班级信息 A FULL OUTER join 辅导员信息 B
ON A.辅导员 = B.辅导员编号
6.交叉连接(cross join)
不带WHERE子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。
Select select_list
From table1 CROSS JOIN talbe2
[Where search_conditions]
[ORDER BY order_expression]