请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

MySQL查询语句

[复制链接]
查看: 80|回复: 0

2万

主题

3万

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
85193
发表于 2020-2-6 16:08 | 显示全部楼层 |阅读模式
本文参考: Mysql菜鸟教程 C说话中文网教程 李玉婷教员视频教程
1.底子查询语句


  • 语法: SELECT [字段名] FROM [表名];
  • 示例

    • SELECT Host,User FROM user;
    • SELECT * FROM user; (查询user表中全数字段)
    • SELECT id AS "序号" FROM user;(在查询结果中将id重命名为"序号")

2.条件查询语句


  • 语法: SELECT [字段名] FROM [表名] WHERE [挑选条件];
  • 寄义:经过设备挑选条件,查询出字段中合适条件的值; 挑选条件严重分为两类, 条件表达式和含糊婚配条件;经过逻辑运算符可将几条简单挑选条件复合为新的挑选条件

    • 条件表达式的关键词有: > < = !=  >= 3;
    • SELECT * FROM user WHERE id>3 AND name != "lena";
    • SELECT name FROM user WHERE id BETWEEN 1 AND 10;
    • SELECT * FROM user WHERE name IN('xiaoming','John','Tom');
    • SELECT * FROM user WHERE phone_num IS NOT NULL OR email IS NOT NULL;
    • SELECT id FROM user WHERE name LIKE _e%;(在user表中查询name字段第二个字母为'e'的id值)

3.分组查询


  • 语法: SELECT [查询字段] FROM [表名]  WHERE [挑选条件]   GROUP BY[作为分组根据的字段];
  • 寄义:将具有某品种似性质的数据作为一个团体查询, 可检察其均匀值, 总和等团体性质

    • 分组可以按单个字段也可以按多个字段
    • 分组条件最好放在WHERE挑选条件后

  • 示例

    • SELECT COUNT(*) FROM employees WHERE department_id=90;(无分组条件)
    • SELECT AVG(salary),job_id FROM employees GROUP BY job_id;
    • SELECT COUNT(*),department_id FROM employees GROUP BY department_id;
    • SELECT COUNT(*),department_id FROM employees GROUP BY department_id HAVING COUNT(*)>5;(对上述查询结果举行二次挑选)

4.排序查询


  • 语法:SELECT [查询字段] FROM [表名] ORDER BY [排序字段][排序方式];
  • 寄义:将查询结构按指定方式排序

    • DESC (降序) ASC (升序,默许排序)

  • 示例

    • SELECT * FROM employees ORDER BY salary; (默许升序)
    • SELECT * FROM employees ORDER BY salary DESC;
    • SELECT *,salary*12*(1+IFNULL(commission_pct,0)) FROM employees ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;(按表达式排序)

5.毗连查询


  • 语法: `SELECT [查询字段] FROM [表名(多个)] WHERE [挑选条件];
  • 寄义: 毗连查询一样平常是多表查询, 多表毗连时只是简单的取笛卡尔积, 故必要设备条件对查询结果举行挑选

    • 由于触及到多个表, 故毗连查询中必要指出字段地点的表,以制止名字辩说

  • 示例

    • SELECT name,boyName FROM boys,beauty WHERE beauty.boyfriend_id= boys.id;
    • SELECT name,boyName FROM boys a,beauty b WHERE a.boyfriend_id= b.id; (取别名)

6.子查询


  • 寄义: 出现在其他语句中的select语句,称为子查询或内查询
  • 示例
    1. #1.查询人为比Abel高的员工信息SELECT *FROM employeesWHERE salary>(    SELECT salary    FROM employees    WHERE last_name = &#39;Abel&#39;);#2.查询查询员工的姓名,job_id 和人为,要求job_id=①而且salary>②SELECT last_name,job_id,salaryFROM employeesWHERE job_id = (    SELECT job_id    FROM employees    WHERE employee_id = 141 #①) AND salary>(    SELECT salary    FROM employees    WHERE employee_id = 143 #②);#3.查询员工最低人为低于结果①的部分id,以及这些部分的员工最低人为SELECT MIN(salary),department_idFROM employeesGROUP BY department_idHAVING MIN(salary)>(    SELECT  MIN(salary) #①查询部分id为50的员工最低人为    FROM employees    WHERE department_id = 50);
    复制代码
    7.分页查询 (不常用)
  • 语法: SELECT [查询字段] FROM [表名] limit [offset,]size;

    • offset为肇端值,默以为0, size为展现结果条数

  • 寄义:截取查询结果中的一部分展现
  • 示例

    • SELECT * FROM  employees LIMIT 0,5; #展现查询结果中前5条
    • SELECT * FROM  employees LIMIT 5; #同上
    • SELECT * FROM  employees LIMIT 10,15; #展现查询结果中11-25条

8.团结查询 (不常用)


  • 语法: 查询语句1 union 查询语句2 union ...
  • 寄义: 将几个查询语句的结果整合到一路
  • 示例
    1. SELECT * FROM employees  WHERE email LIKE &#39;%a%&#39;UNIONSELECT * FROM employees  WHERE department_id>90;#等价于 ???SELECT * FROM employees WHERE email LIKE &#39;%a%&#39; OR department_id>90;
    复制代码

免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 妈妈网-中国妈妈第一,是怀孕、育儿、健康等知识交流传播首选平台 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表