sqllite select语句

SELECT column1, column2  FROM table1, table2

    WHERE [ conditions ]

    GROUP BY column1, column2

    HAVING [ conditions ]

    ORDER BY column1, column2


(1)交叉连接 - CROSS JOIN


FROM table1 CROSS JOIN table2


(2)内连接 - INNER JOIN

table1 [INNER] JOIN table2 ON conditional_expression

--为了避免冗余,并保持较短的措辞,可以使用 USING 表达式声明内连接(INNER JOIN)条件。这个表达式指定一个或多个列的列表:


FROM table1 JOIN table2 USING ( column1 ,... ) 


--自然连接(NATURAL JOIN)类似于 JOIN...USING,只是它会自动测试存在两个表中的每一列的值之间相等值:

FROM table1 NATURAL JOIN table2.

       FROM COMPANY INNER JOIN DEPARTMENT  ON COMPANY.ID = DEPARTMENT.EMP_ID;



(3)外连接 - OUTER JOIN


--外连接(OUTER JOIN)是内连接(INNER JOIN)的扩展。虽然 SQL 标准定义了三种类型的外连接:LEFT、RIGHT、FULL,但 SQLite 只支持 左外连接(LEFT OUTER JOIN)。


FROM table1 LEFT OUTER JOIN table2 ON conditional_expression


FROM table1 LEFT OUTER JOIN table2 USING ( column1 ,... ) 


FROM COMPANY LEFT OUTER JOIN DEPARTMENT  ON COMPANY.ID = DEPARTMENT.EMP_ID;



(4)where语句

WHERE type = 'table' AND tbl_name = 'COMPANY';

WHERE AGE >= 25 AND SALARY >= 65000;

WHERE AGE IS NOT NULL;

WHERE NAME LIKE 'Ki%';

WHERE NAME GLOB 'Ki*';

WHERE AGE IN ( 25, 27 );

WHERE AGE NOT IN ( 25, 27 );

WHERE AGE BETWEEN 25 AND 27;

        WHERE EXISTS (SELECT AGE FROM COMPANY WHERE SALARY > 65000);

WHERE AGE > (SELECT AGE FROM COMPANY WHERE SALARY > 65000);

WHERE SALARY LIKE '200%' --查找以 200 开头的任意值

WHERE SALARY LIKE '%200%' --查找任意位置包含 200 的任意值

WHERE SALARY LIKE '_00%' --查找第二位和第三位为 00 的任意值

WHERE SALARY LIKE '2_%_%' --查找以 2 开头,且长度至少为 3 个字符的任意值

WHERE SALARY LIKE '%2' --查找以 2 结尾的任意值

WHERE SALARY LIKE '_2%3' --查找第二位为 2,且以 3 结尾的任意值

WHERE SALARY LIKE '2___3' --查找长度为 5 位数,且以 2 开头以 3 结尾的任意值


(5)其他

UNION

UNION ALL

GROUP BY NAME ORDER BY NAME;

GROUP BY NAME ORDER BY NAME DESC;

HAVING count(name) < 2;

ORDER BY SALARY ASC;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天走走

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值