SQL判断语句用法和多表查询

1.格式化时间sql语句

  本例中本人随便做了两张表,和实际不是很相符,只是想说明sql语句的写法。

  例1表格式如下:

  需求:查询出本表,但需要使time字段的时间格式为yyyy-MM-dd,比如:2013-08-13

  sql写法:

SELECT u.id,u.userId,u.timeType,DATE_FORMAT(time,'%Y-%m-%d') AS time,secondId FROM `user` u

  运行结果:

  2.多表查询(三表查询)

  例二三表结构如下:

  需求:查询出主表,要求在主表中显示username和secondname

  sql写法:

SELECT u.id,n.`name`,u.timeType,u.time,s.`name` FROM `user` u,`name` n,`second` s   WHERE u.userId=n.id AND u.secondId=s.id

  运行结果:

  3.when then判断语句

  例三表结构如下:

  需求:查询上表,若timeType字段值为2时,显示每月的第二天,若timeType字段值为4时,显示每月的第四天

  sql写法:

 SELECT u.id,u.userId,(CASE WHEN u.timeType=2 THEN '每月第二天' WHEN u.timeType=4 THEN '每月第四天' END) AS timeType ,u.time,u.secondId FROM `user` u

  运行结果:

以上所述是小编给大家介绍的SQL判断语句用法和多表查询,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-09-20 07:38:32

SQL判断语句用法和多表查询的相关文章

SQL判断语句用法和多表查询_MsSql

1.格式化时间sql语句 本例中本人随便做了两张表,和实际不是很相符,只是想说明sql语句的写法. 例1表格式如下: 需求:查询出本表,但需要使time字段的时间格式为yyyy-MM-dd,比如:2013-08-13 sql写法: SELECT u.id,u.userId,u.timeType,DATE_FORMAT(time,'%Y-%m-%d') AS time,secondId FROM `user` u 运行结果: 2.多表查询(三表查询) 例二三表结构如下: 需求:查询出主表,要求在主

SQL删除语句同时向备份表插入数据

从这里摘抄下来的,觉得很不错,http://www.cnblogs.com/ljhdo/p/5792886.html#3503524 ,以后就用这种方式删除,再也不用担心删除错数据啦!!!                

用SQL进行多表查询

  所谓多表查询是相对单表而言的,指从多个数据表中查询数据,这里我们主要学习从两个数据表中如何查询数据的方法.4.3.1 无条件多表查询    无条件多表查询是将各表的记录以"笛卡尔"积的方式组合起来.    如scott.dept表共有4条记录,scott.emp表共有14条记录,其"笛卡尔"积将有4*14=56条记录.    在[命令编辑区]执行下列语句.    ――――――――――――――――――――――――――――――――――――――     select

多表查询技巧_Access

看到大家很多不会多,其实有个很简单的办法具体方法: 打开你的ACCESS 数据库对象(选择查询) 添加你要查询的表,可以是多个 然后选择他们关联的ID,然后下面选择你要查询的表字段 最后在 在空白处右键选择 SQL视图 得到正确的多表查询.

sql语句多表查询中聚合函数的使用问题

问题描述 sql语句多表查询中聚合函数的使用问题 表A,B,C. A表中有title,code, b表中为code,media_code;(均不为主键,code会有重复) c表中有media_code,shrink (media_code为主键) 我的目的为取出A表中的title和c表中的shrink 联立:A.code→B.code, B.media_code→C.media_code 代码如下 select title,shrink from tableA,tableC where medi

thinkphp中多表查询中防止数据重复的sql语句(必看)_php技巧

下面先来看看例子: table id name 1 a 2 b 3 c 4 c 5 b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多. select *, count(distinct name) from table group by name 结果: id name count(distinct name) 1 a 1 2 b 1 3 c 1 最后一 项是多余的,不用管就行了 tp2.0手册   搜索连贯操作 可看到相关的资料 SELECT cat_id, COUNT(*) AS

sql多表查询语句该怎样写

问题描述 sql多表查询语句该怎样写 有两个表,表1中字段有姓名,编号,地址 表2中字段有省,地址.例如表1数据如下(张三,001,济南)(李四,002,青岛)(王五,003,威海)(王伟,004,石家庄)(李玲,005,唐山)(王宇,006,秦皇岛)表2数据如下(山东省,济南)(山东省,青岛)(山东省,威海)(河北省,石家庄)(河北省,唐山)(河北省,秦皇岛)如果搜索河北省的用户信息请问该怎样写sql语句 解决方案 select * from t1 where 地址 in (select 地址

sql查询-sql判断查询一个数是否在数据表两个字段的范围内要怎么写

问题描述 sql判断查询一个数是否在数据表两个字段的范围内要怎么写 大手求教,范围表 字段3个 name startnum endnum (end比start大 是bigint类型,name text型 数据:张三 101 200李四 201 300王五 301 400------省略 然后要查询一个值 如250是在那条数据的范围里这样要怎么写 解决方案 直接写就可以select name from tablename where startnum<=yournum and endnum>=y

使用一条sql语句实现多表查询

问题描述 使用一条sql语句实现多表查询 假设有这样3张表: 学生表S (id,Tid,name,sex,age) 教师表T (id,Sid,name,sex,age) 成绩表R (id(学生的id),result(成绩)) 怎样使用一条sql查询成绩大于90的男学生的男性老师的姓名 解决方案 select * from R inner join S on R.id=S.Sid inner join T on xxxxxx where result>90 你学生和老师好像没有对应关系,所以第二个