![]() | 1 xxxy 2018-05-28 16:37:01 +08:00 ![]() 讲道理,有发帖的时间花半个小时大概就能过一遍了 |
![]() | 2 Linxing 2018-05-28 16:51:47 +08:00 via iPhone 讲真的 就算你不知道怎么写 你也要看得懂吧 也要了解原理 索引啊这些都是基本的 |
![]() | 3 current 2018-05-28 16:54:24 +08:00 最基本的 crud 总的会吧。。。。 |
![]() | 4 chaleaochexist OP |
![]() | 5 chaleaochexist OP @current 只会 r... |
6 KgM4gLtF0shViDH3 2018-05-28 16:58:22 +08:00 via iPhone 肯定不能接受啊,这个写的时候有没有提示 |
7 noli 2018-05-28 16:58:45 +08:00 讲真,MsSQL, MySQL, PostgreSQL 这么多种 SQL 方言我也不是全懂。 但是我有工具可以 gen SQL。 至于微调什么的还是交给专职 DBA 比较好。 |
![]() | 8 RorschachZZZ 2018-05-28 16:59:16 +08:00 这就和 1+1=2 一样,有不会的吗。。。。 |
![]() | 9 phpcxy 2018-05-28 17:16:58 +08:00 大学老师教的 SQL 语句够我用了~ |
10 tumi9527 2018-05-28 17:24:25 +08:00 后端这些都是基本的吧 |
![]() | 11 CoderGeek 2018-05-28 17:26:32 +08:00 no。。。 |
![]() | 12 qq976739120 2018-05-28 17:28:24 +08:00 现在找工作这么容易了?为啥我面试都问到优化细节... |
13 zhaishunqi 2018-05-28 17:29:58 +08:00 还是自己会比较好吧. 因为作为后台的话,你可能会接触到提数脚本的编写.烂点没关系,至少你得自己写出来啊,不用每个都去查吧. 可能有些比较偏的函数记不住就算了,用的时候知道有去查下就好. |
![]() | 14 0044200420 2018-05-28 17:31:10 +08:00 极端情况没网络就完了 |
15 leven87 2018-05-28 17:31:32 +08:00 via Android 基本功。 |
![]() | 16 xxxy 2018-05-28 17:36:25 +08:00 @chaleaochexist 面试前到 leetcode 刷刷就行了 |
17 newtype0092 2018-05-28 17:40:17 +08:00 @RorschachZZZ 1+1 不应该是 select 'Hello World'; 么? |
![]() | 18 cxbig 2018-05-28 17:42:49 +08:00 后端也是分很细的,一般不要求普通 dev 手写 SQL。 为了便于管理,大多数情况,我们会要求程序员使用 ORM 来处理所有的 CRUD。 |
![]() | 19 akstrom 2018-05-28 17:42:57 +08:00 这些心态不适合做后端,不管是业务后端还是服务器后端,劝你改行 |
![]() | 20 iyaozhen 2018-05-28 17:43:08 +08:00 via Android 一般建表用工具吧,手写很容易出错吧 |
21 2bbing 2018-05-28 17:44:44 +08:00 我一直以为会 sql 以及相关简单优化和理解是后端开发的必备点。。。 |
22 tjsdtc 2018-05-28 17:47:44 +08:00 讲真,好多前端工程工程师都会写 |
![]() | 23 NSAtools 2018-05-28 17:49:45 +08:00 讲真,这是基础 |
![]() | 24 EmdeBoas 2018-05-28 17:52:09 +08:00 ...我们的产品都会... |
25 maemual 2018-05-28 17:53:28 +08:00 大概了解,具体语法细节用的时候再搜就好了。 |
![]() | 26 UIXX 2018-05-28 17:56:57 +08:00 你可以忘记具体语法,但是你一定要用过,得会用,一些数据库基本引擎原理要懂。 PS. 如果你要应聘,一定要过一遍。保证能手写。 |
![]() | 27 2379920898 2018-05-28 17:58:42 +08:00 经常用链式操作。。 原声 SQL 早忘光光了 |
28 yuanfans 2018-05-28 18:04:39 +08:00 讲道理,有发帖看回帖这个时间,都过完一遍了 |
29 1313213 2018-05-28 18:13:19 +08:00 最基本的应该会写吧 |
30 onepunch 2018-05-28 18:17:02 +08:00 ![]() 有句老话叫 “勿在浮沙筑高台” ,一知半解总有你哭的一天 |
![]() | 31 leotso 2018-05-28 18:18:57 +08:00 via iPhone 这应该属于基本功吧……顺便做个调查 有多少人知道递归查询 |
32 mumbler 2018-05-28 18:19:45 +08:00 ![]() 给你个 google 能不能写,能就没事 |
33 karllynn 2018-05-28 18:26:32 +08:00 这不是基本功么。。这么菜鸡当什么后端 |
![]() | 34 lijsh 2018-05-28 18:29:21 +08:00 我们的测试都是手写 SQL 暴力改数据库创造测试情景的 |
![]() | 35 SingeeKing PRO 会写是必须的,到底要不要写是另一码事。 不要过度依赖 ORM,要是用了小众数据库或者一些特别复杂的操作还是要依托 pureSQL |
![]() | 经常登录 mysql 命令行玩玩就会了,多看看文档 |
![]() | 37 initialdp 2018-05-28 18:36:53 +08:00 不可接受。 |
![]() | 38 sunchen 2018-05-28 18:47:56 +08:00 我们运营,测试,产品经理都会 |
39 Raymon111111 2018-05-28 18:49:43 +08:00 这个真的是两小时就能学会的东西... |
![]() | 40 felinx 2018-05-28 19:03:30 +08:00 不收 |
![]() | 41 nekolr 2018-05-28 19:17:24 +08:00 via Android 基本的 CRUD 要会,这个学习花不了多少时间。剩下复杂的一般也用不到,用到了能借助搜索引擎解决也行,这个慢慢积累。一般的后端这个程度就可以了 |
42 boris1993 2018-05-28 19:32:19 +08:00 via Android ![]() 我觉得吧,只要用的到,就要学就得至少会用 我大学学的 C#,出来实习第一份工作干的是 IBM 主机,z/OS 系统,COBOL 语言。编程是公司给教,后面我要兼任管理员,咋办,爬 18 摸文档库啃,现在用户管理权限管理这俩必会的已经熟练了 然后业务变动改做 Java,但是同样,Java 没怎么写过,框架也是头一次听说,MySQL,Redis,都没见过,咋办?爬教程一点点学,搭框架,写个小玩具,一边写一边学 然后某银行 DevOps 投标 POC,仗着 Linux 玩得转,铁着头去了,然后发现 Jenkins 之类的,见过没用过更没配过,咋办?还 TM 不是爬教程去学,最后 POC 的要求达到了 逼逼了这么多,我想说的就是,你既然要搞技术,那就不是说这玩意我能不能不会,而是这玩意有用那我就学一个。技多不压身,谁知道你这技能啥时候就派上用场了,更何况增删改查都是基本操作 |
43 yeepZhang 2018-05-28 19:50:29 +08:00 ...这都要纠结发个帖子问... |
![]() | 44 nl101531 2018-05-28 19:58:07 +08:00 via Android 作为后端,快排还是需要手撕的啊。。。 |
![]() | 46 mhycy 2018-05-28 20:00:11 +08:00 说白了还是懒 |
![]() | 47 qiyuey 2018-05-28 20:01:35 +08:00 反正我是记不住,都是生成的 |
![]() | 48 ZeoKarl 2018-05-28 20:02:48 +08:00 via iPhone 写两次就会了 |
![]() | 49 rb6221 2018-05-28 20:55:53 +08:00 via Android 如果工作接触数据库 crud 必须会 驱动 纯算法 操作系统这类可以不用会吧 |
50 371657110 2018-05-28 21:05:08 +08:00 我一个前端都会手写了. |
![]() | 51 F281M6Dh8DXpD1g2 2018-05-28 22:00:13 +08:00 ![]() 没事,知道自己不会就行了 反正大部分工程师都不会,但都以为自己会 |
![]() | 52 pandago 2018-05-28 22:02:47 +08:00 via iPhone 要会的 |
53 0x11901 2018-05-28 22:11:58 +08:00 现在工作这么好找了么…… |
54 CFO 2018-05-28 22:37:53 +08:00 via Android 我也就只会简单的 crud 加个简单的 join 有的同事写的复杂 sql 我看都看不懂… |
55 ilylx2008 2018-05-28 22:50:57 +08:00 via Android 不可接受 写代码不考虑 sql 性能的,就像小孩一样永远长不大 |
56 xpresslink 2018-05-28 23:05:01 +08:00 我不会写代码想找个程序员工作,楼主觉得可接受么? |
57 dobelee 2018-05-28 23:25:46 +08:00 via Android sql 句都不,到候你好意思跟人到 sql 化、移、mysql 定位、mysql 高可用、mysql 集群?更提特性繁多的 SQLServer 和 Oracle 等。 insert into 不用了,就建表的句,是 DDL 最最最基的技能,我大之前就已手打至少 1000 次建表句,我只能,要么你不用它,要么你不用心。 另外,些篇技能都欠缺,我完全可以定你也不其他基理,如第三式、b 索引、存引擎等相知。 所以你得好? |
![]() | 58 zhangbohun 2018-05-29 00:48:28 +08:00 via Android select 最难 |
![]() | 59 jiangzhuo 2018-05-29 01:09:31 +08:00 手写红黑树都能接受,别说手写个 select 了。当然是选择原谅他了 |
![]() | 60 opengps 2018-05-29 08:17:38 +08:00 想要写出来高性能的代码,这些都是基础,不然一个数据库故障你用上一周去解决,你说你老大会不会开除你 |
61 FrailLove 2018-05-29 08:29:49 +08:00 很多 Java 程序几百行才能解决的问题 一个 select 就能搞定 你怕不怕 |
![]() | 62 chaleaochexist OP @boris1993 不知道老司机开了多少年车,想问一下 > C#, IBM 主机,z/OS 系统,COBOL 语言。 还剩下多少? --- 其实我不是没学过,是学过不用就忘了,在学还是忘。。。也许我记性不好? 为什么 select 会,因为 select 经常用。。。 |
![]() | 63 2pen 2018-05-29 08:53:33 +08:00 drop |
![]() | 64 6diyipi 2018-05-29 09:07:06 +08:00 忘了就网上查一查啊, 你是不是来卖萌的。增删改查那么简单的。 |
65 boris1993 2018-05-29 09:07:45 +08:00 via Android @chaleaochexist C 井和 COBOL 很久不写,略微手生。z/OS 目前时不时的要处理权限和资源释放问题,目前可以不看屏幕用消息指导同事操作。 emmm,最早看你的帖子,理解成了根本不会写,而不是时间长不用忘了。我也会忘东西啊,所以手边常备 Google,时不时也会写点东西温习一下 |
66 nbstoner 2018-05-29 09:09:14 +08:00 有啥不能接受的,你觉得你这样可以,然后让面试官觉得你这样可以。之后的工作中你也用你觉得可以的方法去做好工作。这不就得了 |
![]() | 67 keikeizhang 2018-05-29 09:12:34 +08:00 也许未来工具集越来越多,可能不会 SQL 也没有什么,如果有杠精,想想编程语言的底层是什么。 |
![]() | 68 chaleaochexist OP @6diyipi 不是卖萌。 不过我有一个坏习惯就是做决定之前想听听别人的看法。V2 装逼的少,就上来问问。 |
![]() | 69 tedzhou1221 2018-05-29 09:13:06 +08:00 我觉得起码简单的要会写 |
![]() | 70 leeyom 2018-05-29 09:15:26 +08:00 不接受 |
71 jptx 2018-05-29 09:17:08 +08:00 建表这类的低频率、复杂而且很重要的 SQL 不记得也没关系,直接用工具来建表最安全省事,至于 INSERT INTO 之类的常用 SQL,平时操作数据库时多写几遍就记住了,结构很简单 |
![]() | 72 hanxiV2EX 2018-05-29 09:17:48 +08:00 via Android 不用百度,准备一份手册,写的时候看看就行。又不是比速度,临时写也就 5 分钟的事情 |
![]() | 73 6diyipi 2018-05-29 09:18:02 +08:00 @chaleaochexist 常用语句用印象笔记记着。最多半小时全部整理的妥妥的。 |
![]() | 74 niubee1 2018-05-29 09:20:52 +08:00 如果这个学不会我觉得是能力有问题, 接受不能. |
75 xjr7670 2018-05-29 09:23:49 +08:00 这都能做后端??为啥我找个工作那么难,问得那么多 |
![]() | 76 AdamMing 2018-05-29 09:26:16 +08:00 面试的时候不会问几种引擎的区别嘛。。 |
![]() | 77 KimJongun 2018-05-29 09:45:55 +08:00 不推荐 ORM,还是写原声 SQL 吧 |
![]() | 78 nullen 2018-05-29 10:02:35 +08:00 不能接受。 |
![]() | 79 akinoneko 2018-05-29 10:03:20 +08:00 我们的测试都会. |
![]() | 80 zhaogaz 2018-05-29 10:06:36 +08:00 其实我也忘,我跟楼主差不多,哈哈哈哈哈。 经常写,还是忘。 上面有人问,sql 递归,递归我也写过,具体到细节现在也忘了,大题思路还是有印象的。哈哈哈哈 我觉得上面大部分人理解都是有问题的,记住了 /会了 就不会忘。怎么可能,又不是机器人,何况机器人也会坏呢。。。 |
![]() | 81 arthas2234 2018-05-29 10:07:07 +08:00 。。不会写 SQL 一些问题你要怎么排查,数据库要怎么优化。要碰到没有 DBA 的公司,数据库都要你设计怎么办。我们运维和产品 SQL 都写的贼 6,别说是后端了 |
82 xsliang 2018-05-29 10:18:33 +08:00 |
83 silentstorm 2018-05-29 10:18:51 +08:00 嗯,没啥大问题。只要 update,delete 时候 where 语句别忘了写就行 |
84 Lanke0 2018-05-29 10:28:32 +08:00 我经常忘,需要复习 |
85 salamanderMH 2018-05-29 10:28:50 +08:00 不可能吧 |
![]() | 86 YouXia 2018-05-29 10:29:28 +08:00 工作前 3 年,没写过 SQL。后来做数据库内核开发时候,开始学了点。 |
![]() | 87 lazydog 2018-05-29 10:31:26 +08:00 via Android 如果没特殊要求的话,黑猫白猫抓到老鼠就是好猫! |
![]() | 88 southsala 2018-05-29 10:52:13 +08:00 对自己要求不高啊 |
![]() | 89 hjw45611 2018-05-29 11:00:02 +08:00 增删查改、嵌套、联表等常用操作都写个例子,放在工作文档里,用到就看一下,怎么也能记住了。 |
90 ytll21 2018-05-29 11:01:16 +08:00 对自己没要求的话,可以不会。 |
91 enhancer 2018-05-29 11:04:02 +08:00 ![]() 如果是做企业级应用开发的话,后端不会写 SQL 几乎无法干活。互联网应用情况可能稍微好一点。比如很普通的财务总账 SQL: SELECT AB.subject_code code, AB.subject_name name , IFNULL(AB.debit_amount_init, 0) debit_amount_init , IFNULL(AB.credit_amount_init, 0) credit_amount_init , IFNULL(AB.debit_amount_curr, 0) debit_amount_curr , IFNULL(AB.credit_amount_curr, 0) credit_amount_curr , IFNULL(C.debit_amount_end, 0) debit_amount_end , IFNULL(C.credit_amount_end, 0) credit_amount_end , IFNULL(D.debit_amount_total, 0) debit_amount_total , IFNULL(D.credit_amount_total, 0) credit_amount_total FROM (SELECT B.subject_code, B.subject_name , A.debit_amount_init, A.credit_amount_init , B.debit_amount_curr, B.credit_amount_curr FROM (SELECT subject_code , subject_name , SUM(debit_amount) debit_amount_init , SUM(credit_amount) credit_amount_init FROM accounting_document_item adi, accounting_document ad WHERE adi.doc_id = ad.id AND date_format(accounting_date, '%Y%m') < CONCAT(@12-YEAR@, @12-MONTH@) GROUP BY subject_code, subject_name) A RIGHT JOIN (SELECT subject_code , subject_name , SUM(debit_amount) debit_amount_curr , SUM(credit_amount) credit_amount_curr FROM accounting_document_item adi, accounting_document ad WHERE adi.doc_id = ad.id AND date_format(accounting_date, '%Y%m') = CONCAT(@12-YEAR@, @12-MONTH@) GROUP BY subject_code, subject_name) B ON A.subject_code = B.subject_code) AB LEFT JOIN (SELECT subject_code , subject_name , SUM(debit_amount) debit_amount_end , SUM(credit_amount) credit_amount_end FROM accounting_document_item adi, accounting_document ad WHERE adi.doc_id = ad.id AND date_format(accounting_date, '%Y%m') <= CONCAT(@12-YEAR@, @12-MONTH@) GROUP BY subject_code, subject_name) C ON AB.subject_code = C.subject_code LEFT JOIN (SELECT subject_code , subject_name , SUM(debit_amount) debit_amount_total , SUM(credit_amount) credit_amount_total FROM accounting_document_item adi, accounting_document ad WHERE adi.doc_id = ad.id AND date_format(accounting_date, '%Y') = @12-YEAR@ GROUP BY subject_code, subject_name) D ON AB.subject_code = D.subject_code |
![]() | 92 guoyuchuan 2018-05-29 11:06:35 +08:00 至少基本的增删查改要会写,是会写,不是记得; |
![]() | 93 younfor 2018-05-29 11:08:34 +08:00 @FrailLove 怕不怕 。当然怕。从工程的角度来看,都是必须的。我还喜欢写胖代码,胖接口。成吨成吨的写。太可怕了。当然 SQL 你当然也要会。什么索引啊。视图啊,存储过程啊都要会写吧。之前我为了把 echarts 和自己业务 BI 展示合在一起,还专门封装了一遍。就是在写 SQL。太可怕了。 |
![]() | 94 younfor 2018-05-29 11:11:29 +08:00 @enhancer 对。我想说的就是这个。企业应用类工程项目。必须是要会写的。有一次我 left join 10 张表。太可怕了。就为了查库存。 |
![]() | 95 HaoC12 2018-05-29 11:17:13 +08:00 熟悉行转列,列转行,仍然找不到好工作。 |
![]() | 96 cuzfinal 2018-05-29 11:21:09 +08:00 测试运维都会手写 SQL。 |
![]() | 97 Tokin 2018-05-29 11:53:10 +08:00 我一直以为这些简单的 sql 语句学过编程的人都会,工作之后发现并不是这样,很多人都不会写。 不知道为什么,难道他们学编程的时候,都没涉及到数据库吗? 大学一些作业不都是什么图书管理系统、学生信息管理系统吗? 难道数据都写 txt 里了吗。。。。 |
![]() | 98 ChiangDi 2018-05-29 11:53:46 +08:00 不会就百度呀。。。 |
![]() | 99 fuchaofather 2018-05-29 12:17:34 +08:00 via Android @xxxy 没毛病 |
![]() | 100 bomb77 2018-05-29 12:19:29 +08:00 ![]() 我记忆现在已经和金鱼差不多了,也动不动就怀疑自己是不是不适合做这行啊。。。 算了,反正都是面向 Stack Overflow 编程。。。 |