AND or OR 这两个关键字来组装多个条件(表示并且,或者)
属性名 表名 找条件 找同时满足的
SELECT column, another_column FROM mytable WHERE num_wheels >= 4 AND doors <= 2
数字类型的哈
BETWEEN … AND …(NOT BETWEEN ) 同一个属性在两个数之间 col_name BETWEEN 1.5 AND 10.5
IN (…) (NOT IN) 同一个属性在一个列表里 col_name IN (2, 4, 6)
在看看字符串的(模糊查询)
LIKE(NOT LIKE) 没有用通配符等价于 = col_name LIKE "ABC"
% 通配符,代表匹配0个以上的字符"%AT%" 代表AT 前后可以有任意字符 col_name LIKE "%AT%"
_ 和% 相似,代表1个字符代表AT 前后可以有字符 col_name LIKE "AN_"
IN (…)(NOT IN) 在列表 col_name IN ("A", "B", "C")
=========================
去重语法 DISTINCT 选取出唯一的结果的语法
SELECT DISTINCT(去重) column, another_column(属性名) FROM mytable WHERE (条件);
GROUP BY
=========================
排序语法 ORDER BY ASC(升序) DESC(降序)
SELECT column, another_column, … FROM mytable WHERE (条件) ORDER BY column ASC/DESC;
============================
LIMIT 和 OFFSET 结果集排序 LIMIT来指定只返回多少行,用 OFFSET来指定从哪一行开始返回
mySQL
SELECT column, another_column, … (元素)
FROM mytable (表名)
WHERE condition(s) (条件)
ORDER BY column ASC/DESC (升序或者降序)
LIMIT 10 OFFSET 200; (从200条开始取10条数据)
SQL server
SELECT TOP 10 column, another_column, … (TOP表名要10条数据)(元素)
FROM mytable (表名)
WHERE condition(s) (条件)
ORDER BY column ASC/DESC (升序或者降序)
=================================================
表与表的关联查询
ON条件描述的关联关系;INNER JOIN 先将两个表数据连接到一起. 两个表中如果通过ID互相找不到的数据将会舍弃
用INNER JOIN 连接表的语法
SELECT column, another_table_column, … (元素)
FROM mytable (主表)
INNER JOIN another_table (要连接的表)
ON mytable.id = another_table.id (主键对应想象一下刚才讲的主键连接,两个相同的连成1条)
WHERE condition(s)
ORDER BY column, … ASC/DESC
LIMIT num_limit OFFSET num_offset;
======================================================
左连接LEFT JOIN,右连接RIGHT JOIN 和 全连接FULL JOIN(直接链接到一起没有的地方用null代替)
SELECT column, another_column, … (元素)
FROM mytable (主表)
INNER/LEFT/RIGHT/FULL JOIN another_table (链接方式和要连接的表)
ON mytable.id = another_table.matching_id (主键对应想象一下刚才讲的主键连接,两个相同的连成1条)
WHERE condition(s)
ORDER BY column, … ASC/DESC
LIMIT num_limit OFFSET num_offset;
===========================================================
可以用IS NULL和 IS NOT NULL 来选在某个字段是否等于 NULL.
SELECT column, another_column, …
FROM mytable
WHERE column IS/IS NOT NULL
AND/OR another_condition
AND/OR …;