MYSQL基础语法2
一、主键
主键是一个特殊的索引,具有唯一性,即主键字段的值不能重复;
用于提高数据表的查询速率,同时也可以用作每行记录的唯一标识;
二、外键
表A中的一个字段,跟表B的主键相关联,则表B的主键就是表A的外键;
三、关联查询
查询一组结果集,需要关联多张表;
1、左连接
LEFT JOIN:以左边的表为主,右边的表显示能匹配上的行,匹配不上的显示null
ON:是两个表相互关联的条件
SELECT s.*, c.class_name FROM student_info AS s
LEFT JOIN class_info AS c ON s.class_no = c.class_no;
2、右连接
RIGHT JOIN:以右边的表为主,左边的表显示能匹配上的行,匹配不上的显示null
SELECT s.*, c.class_no, c.class_name FROM student_info AS s
RIGHT JOIN class_info AS c ON s.class_no = c.class_no;
3、内连接
INNER JOIN:只显示两边的表都能匹配上的行
SELECT s.*, c.class_no, c.class_name FROM student_info AS s
INNER JOIN class_info AS c
ON s.class_no = c.class_no;
四、多表联查
一条sql语句查询多张表,需要表与表之间有关联条件
select * from [table1] as t1, [table2] as t2
where t1.[column] = t2.[column];
五、子查询
一个查询出来的结果集被用到另一个查询语句中
SELECT * FROM student_info WHERE class_no in(
SELECT class_no from class_info
);
六、运算符
() 优先级最高
算数运算符 + - * / %
比较运算符 > < >= <= !=
IN 判断一个字段是否属于一个结果集
AND 且 连接多个筛选条件,要求所有筛选条件都要成立
OR 或 至少一个条件成立
示例:
select * from student_info
WHERE class_no != 2;
select * from student_info
WHERE not class_no = 2;