84

My class is currently further learning our relational database / SQL as part of the course.

The lecturer we have currently is restricting us to learning specifically Oracle SQL syntax rather than allowing us an option to using PostgreSQL, MySQL, SQLite, etc.

When we brought up our preference in the use of alternative systems due to working with those mentioned above in work placements or academic study from the year prior, we were talked down to for even discussing the matter.

Is this permissible within the UK to restrict students from using a preferred database syntax / software environment?


Edit to add: thank you for your insights and feedback. The post was made on behalf of myself and half a dozen class members who did not know the best route to address the matter, but now have a clearer understanding thanks to this community. For what it's worth, I can confidently say myself and my fellow students are confident with Oracle, MySQL and other SQL Basics from prior education, projects or employment and don't have an issue learning something new to keep progressing.

  • Comments are not for extended discussion; this conversation has been moved to chat. – ff524 Oct 25 '18 at 18:43

14 Answers 14

306

No, they can't. But they can make you fail the class.

Lecturers usually have free rein over the specifics of the material taught. Therefore they are free to choose any technology or dialect as long as it is within the area of the course.

Nobody can force you to study anything but if you want to pass his exam or the course by e.g. submitting lab problems, you have to play by their rules.

They might not know any other dialect and therefore be only able to teach (and grade) Oracle SQL. Or they might consider it the best dialect, e.g., because of wide industry use.

Finally, although I would be annoyed by this as well, sometimes you have to suck it up and just pass the course. Lecturers that teach the same (obsolete) material for 20 years are unfortunately a reality in academia. At least you might learn what to avoid in the future.

  • Comments are not for extended discussion; this conversation has been moved to chat. – eykanal Nov 5 '18 at 15:23
141

Unless there is something in the course description saying otherwise, the lecturer can choose the syntax for all submitted coursework and exams. Picking a specific syntax makes the lectures less confusing, as well as simplifying testing and grading of coursework and exams. To pass the course, you will have to learn Oracle SQL.

You may be confusing "requiring you to learn X" with "restricting you from learning Y". In the long term, you will have to learn a lot of material during your career, and it will not always be feasible to get classes in exactly what you need to learn. Independent study can become essential.

Consider repeating some of the coursework using the database of your choice, for your own education.

  • 41
    I'd like to add to Patricia's excellent answer by saying that if you end up doing this for a living, you will need to develop the ability to move between similar languages and frameworks to survive. SQL, in particular, is not a technology to be precious about, because it's used everywhere. Also, the amount of extra effort on your part is marginal compared to the amount of work the instructor would have to do if everyone picked their own version. That's insane. It would be like a business that let each dept use their own version of SQL, and then trying to normalize that into a single DB. – fearofmusic Oct 26 '18 at 1:25
75

Rephrased a bit, your question says:

Can a lecturer base their course on a specific dialect of a tool?

I can and I do.


But I'd like to highlight a bit different aspect of this. A proper university-level lecture is (almost) never about concrete tools and languages. It's about concepts.

I am teaching Functional Programming this semester. The lecture material is telling about Haskell. The exercises are in Haskell. If someone would submit them in ML, they'd surely fail. But the concepts of functional programming is what this lecture actually is about. And concepts do not change.

I fully expect the students to be able to program in ML, Swift or what not, as long as it's a functional programming language and they have adapted to the syntax. Surely, they'd miss some concepts. Surely, they'd have some concepts they did not encounter in the lecture. But the basic approach, the generic mindset, and most of the concepts will still be there. And this is what my course is actually about.

In fact, they might never write a single line of Haskell in their life after they have got their grade. And it's still make them better programmers and computer scientists.


I can basically replace words and get the same statement about relational databases. The fact that you learn Oracle should have little impact on your ability to use MySQL (or what not) later in your life. Quite a number of large companies use Oracle anyway. Perhaps your lecturer is more fluent in Oracle than in something else, or maybe your department got that big shiny Oracle licence that'd be a shame not to use, or something completely different. The reason is irrelevant, you have to learn Oracle.

What you actually learn is foundations of relational databases. These foundations apply to all the *SQL things and even some that are not. Everything else is a minor adaptation to syntax and local quirks, which is not a subject of university education.

  • 5
    The fact that you learn Oracle should have little impact on your ability to use MySQL that very true. You have to use some existing language and each implementation can have its differences. Still, if you know how to write queries in any SQL dialect, you'd be able to write them in any one dialect. A table would function the same in Oracle, PostgreSQL, MySQL, etc, when it comes to selects and updates, and so on. Some special cases could differ but in the real world you not always have a choice in DB vendor, you'd likely be required to just use X and Y whereas you only know Z. – VLAZ Oct 26 '18 at 11:15
  • 4
    As educators, we like to lay claim to this "concepts not specific technologies" belief, but I don't see much evidence that's true. My C++ students don't feel comfortable about Java, even though I tell them at every turn what 95% is the same and what 5% is different. The 4-year college that most of my 2-year students transfer to doesn't accept a C++ class as satisfying a Java programming requirement. Job postings will require distinctly one, not the other. Etc. – Daniel R. Collins Oct 27 '18 at 1:25
  • 2
    The discussion seems to side-track. Technologies erode. Remember J#? Perl? Tru64 UNIX? VAX? The problem of teaching "Programming in XY" is that people are lost and have no job, when XY is deprecated. – Oleg Lobachev Oct 27 '18 at 11:58
  • 8
    @DanielR.Collins: Once upon a time I successfully got a C# job, but two weeks before starting I knew only C++ and Java. It worked out. Hence, concepts, yeah. – Oleg Lobachev Oct 27 '18 at 12:00
  • 9
    "Job postings will require distinctly one, not the other.": But this only tells how shallow some recruiters can be. An experienced programmer who masters, say, C++, Python and Haskell, won't find it difficult to pick Java or C#. Yes, it will take some time, but I would prefer to give a Java position to such a programmer than to someone who has only programmed in Java throughout their career. – Giorgio Oct 28 '18 at 18:41
68

Can a lecturer force you to learn a specific programming syntax / language?

Of course they can. Teachers are generally in charge of designing their course in whatever way they think is best suited to reach the intended learning outcomes. In some cases (especially more project-oriented courses) this may mean leaving the choice of technology open to students, but for other courses strictly mandating what students should use may be preferable.

Further, while I won't comment on the usage of Oracle specifically, there still may be good reasons to not use what you have been using before. Particularly, learning a different SQL dialect can be a very valuable lesson in itself. It makes you understand better what exactly is part of SQL (the standardized language) and what is part of the specific implementation that Postgres uses.

Finally, practicalities often dictate that teachers mandate certain technological ground rules. I have often had the case that I strictly required students in large classes (400+ students) to adhere to specific technologies and even submission templates, because it was not acceptable from a grading time perspective that TAs would need to spend time getting a solution to run before they could start grading it. Clearly this is an extreme case, but you still need to understand that letting each student pick their own technology escalates quickly in terms of grading effort.

That all is to say, you can certainly address (for instance in the teaching evaluations) if/that you feel that the pedagogical goals of the course could be better reached when using a SQL dialect that you already know, but a formal complaint has no legs to stand on.

  • While I generally like the answer, I feel that by mentioning "best suited to reach the intended learning outcomes" in the first paragraph you give it the highest importance and I would argue that practicalities mentioned in the last paragraph are the main reason for the selection of a technology. That's what he knows, thats what he is used to. – problemofficer Oct 25 '18 at 17:44
  • 5
    @problemofficer This may or may not be true. I don't know your teacher. – xLeitix Oct 25 '18 at 17:46
38

Take a step back: How many students are in the class? I'll guess 100. Each student will have their own preferences -- different SQL dialects, different learning speeds and styles, different topics, different assessments, etc. The lecturer cannot accommodate all of these preferences, so there is a need to compromise.

It may be only 10% more work for the lecturer to accommodate your preferred SQL dialect. You may think that's reasonable. But if each student has something similar to accommodate, then suddenly the lecturer has 1000% more work. That's clearly not practical.

From the lecturer's point of view, it is essential to keep the course workload under control. If he or she begins accommodating requests, it can get out of hand very quickly. Being strict is a skill that lecturers have to learn. If you want someone who tailors everything to your preferences, hire a private tutor.

  • 2
    Very true. And some of those 10% of additional workload can already be achieved by possibly endless discussions with a) students whose favourite dialect was admitted and who now complain they are getting less material and support than those who use the main dialect of the class, and b) students whose favourite dialect was not admitted and who point out that others got their favourite dialect admitted, too, why can't theirs be admitted, as well. (Source: Personal experience, not even related to dialects of the same language, but to different programming languages altogether.) – O. R. Mapper Oct 29 '18 at 5:28
  • I took a File Organization and Processing class years ago and the Adjunct Prof said, "You can turn it in in any language system you want to use because I can read it. If I cannot, you're responsible for teaching me enough of it so I can grade it." There was a restriction against using a language which 'did it for you' (meaning you had to demonstrate knowledge of how to code the assignment... for example you couldn't use a .Sort feature to sort stuff). – J. Chris Compton Nov 2 '18 at 20:02
  • @J.ChrisCompton 's comment reminds me of my thesis adviser. He had an assignment to write an algorithm for matrix multiplication. In the lab he discovered an APL keyboard. The rest, is a one-liner... :-D – avgvstvs Nov 5 '18 at 14:43
23

When I took a course in numerical methods eons ago, the first few assignments were to be done in Fortran 77. After doing some in Fortran, the professor then moved on to assignments in APL, SPITBOL, and C, each meant to demonstrate how different languages allowed problems to be attacked in different ways. No class time was spent in teaching these languages, we were expected to read the manuals and figure it out for ourselves in the week or so available. And, I learned a lot about a bunch of different languages and constructs that I still use today.

But, you can bet dollars to donuts that an assignment to do in APL was only accepted in APL. If it was supposed to be SPITBOL, you might get away with SNOBOL (although you really needed recursion) but Fortran wasn't going to fly.

Yes, for many reasons, a professor can define the parameters of assignments, including specifics such as the allowable programming language.

  • 4
    SNOBOL had some cool concepts, particularly for the early 1960s. Never used it since that course though. – Jon Custer Oct 25 '18 at 22:13
  • 2
    I briefly used SNOBOL in the early '80s! – mkennedy Oct 25 '18 at 22:19
  • 1
    I was taught a bit of SNOBOL at University in 1971, and my, it made it much easier to grok XSLT when I encountered that in 1999. – Michael Kay Oct 26 '18 at 8:01
  • 3
    Well, both SNOBOL and XSLT have a processing model based on matching input against patterns and firing off appropriate rules based on which patterns match. All I'm saying is, if you've come across one language that uses that paradigm, it's very much easier to pick up another; while if you haven't come across that kind of language before, it might well melt your brain. The most powerful concepts in computing often take some mastering. – Michael Kay Oct 26 '18 at 22:32
  • 7
    Fortran 77? Oh, we used to dream of writin' Fortran 77! Would ha' been the lap 'o luxury to us. We used to code in COBOL in an old water tank on a rubbish heap. We got woke up every morning by having a load of rotting fish dumped all over us! – Don Branson Oct 29 '18 at 19:39
14

I have used many languages throughout my studies and career and you can be sure of a few things

  1. In School, the teacher is always right, so either get on board or get off
  2. There is never going to be a single perfect language to use that will be used by everyone everywhere (SQL vs mongoDB, C++ vs JAVA, the list goes on and on)
  3. Learning different programming languages is a necessary skill for a programmer

It's great a professor is forcing students to use a less popular language or a language that is not preferred. It helps prepare you for the real world where you will come across a job/situation where you have to use a programming language you've never used before. The hurdles of learning a new language in school will help with the hurdles of learning a new language in your future job.

  • 9
    After having to use FORTRAN 77 and Perl 4 in a real job less than a year ago, I can vouch for the necessity of being able to pick up new languages quickly. – AlexanderJ93 Oct 26 '18 at 19:05
  • 4
    SQL vs MongoDB is way more different than C++ vs Java. It's more like C++ vs Haskell. – Nelson Oct 29 '18 at 8:51
9

Yes, I am in control of my classes and will decide what in your work is worth points and what is not. I'll tell you that up front, with plenty of time for you to drop.

Not only will I demand you use the syntax and language I am teaching (for my own grading ease and consistency of results, like performance timing), but I will demand you follow my code formatting rules for indentation, tab stops, limits on line length, variable names and how to case them, and commenting within your code to help me see what you have done and why you are doing it.

Because the butt-sore truth is, when you get into the real world, you will find that writing working code is not enough, your code needs to be maintainable and readable by others. And chances are, you are going have to read and debug TONS of other people's code, and you will appreciate this then.

Before I was a professor I was a division manager in charge of code for a public company. Newbies are often given testing and debugging tasks to get them familiar with the code and systems and to evaluate their expertise and productivity.

So first, IRL programmers move on to other companies, departments, or roles within the company. So not only do we have to deal with code by programmers no longer with us, the senior programmers are often working on deadline for critical NEW projects, and they don't have the time to debug their own code from years ago, or even answer questions about it.

That makes maintainability of code very important, because hardware and software libraries and operating systems and compiler / interpreter release change much faster than our code base, and break our systems. The code must be legible, easy to understand, and easy to follow. I don't want any "black box" code that just "works right" because when it stops working, I don't want to rewrite it to fix it.

So I enforce that in my classes too. Yes your code has to work, but that isn't the whole grade. You must use the tools I gave you, or you don't pass: Because real companies have standards, even down to the editor you use, and my assignments are an exercise in you using the tools given, not just getting the right answer.

You must also write code that obeys my code formatting and commenting guidelines, those are worth a letter grade. Because IRL if you gave me (your manager) that as a coder, I'd have to send it back to you for proper formatting, and there goes 1 or 2 days of your pay and productivity because you can't follow simple list of written directions.

The equivalent in the classroom is your grade, so -10 for mistakenly thinking that getting the right answer is all that matters to the company. How you got the answer is important, and Maintainability of your code after you are gone or no longer maintaining it is also very important.

  • 2
    @CaiusJard Yeah, I worked at a company where every work station was required to be identical, and kept that way by sysadmins. Same IDE, editor, debugger, compiler, OS, libraries, even the same icons in the same place on the screen. Even the directory structure was the same. So anybody could sit at any station and work, or help somebody find a bug or whatever. No exceptions for personal style or preference. But you get used to it, and uniformity and interchangeability does provide tangible benefits, especially for remote help: If my system and yours are identical, I can duplicate your problem. – Amadeus-Reinstate-Monica Oct 30 '18 at 11:52
  • What will you do for the final semester worthless class? It's too late to drop. – Joshua Nov 2 '18 at 19:13
  • 2
    @Joshua Not my problem! When I tell you the requirements on Day 1 and Day 2, if you are terribly offended by them you still have plenty of time to drop without any grade or financial penalty, at least at the universities I have been at, as a student or professor. What you do instead is none of my business, or responsibility. If you want to graduate, stay in the class and do the work I give you. Just like real life: If you want the paycheck, you will do the work following the rules your boss sets, because to your boss, your work isn't worth your paycheck if you insist upon doing it your way. – Amadeus-Reinstate-Monica Nov 2 '18 at 19:21
8

Teaching involves more than just doing the lecture, you have to prepare the materials, be familiar with the content, prepare exercises, exams, etc.

How do you suppose the professor would do that without restricting the dialect? Or how can the professor be fair to the students without restricting it?

Example: "We favour Oracle, but we accept any other dialect". So the student that chooses to do it in pgsql would be at a disadvantage because the material was not prepared for it, the syntax is different, examples won't work, etc...

But then we add pgsql because it is well known. But it would make no sense to add pgsql and not use mysql too. When does it stop?

  • 5
    To be fair, there is a simple answer to that - if all material is prepared for Oracle and a student chooses, by their own will, to use something else, they have elected to be at a disadvantage. – xLeitix Oct 25 '18 at 17:37
  • 5
    Yes, but then the guy fails, blame it on the professor, ends up creating a ruckus. Sure, he would be wrong, probably, but any official complains would most likely need to be thoroughly investigated, this can get really messy. Easier to nip it in the bud. Further, how would the professor mark the exams? (the "funcionality only", "black box", approach could work, but I rather double check what the students did) – Fábio Dias Oct 25 '18 at 17:43
  • 2
    @FábioDias I would even argue that the "black box" approach wouldn't actually work, as programming (even SQL) is as much about the code as it is the result. Things like formatting, style, architecture, best practices, etc. are all part of learning a new language or technology, so not grading on them is a huge disservice to your students. – AlexanderJ93 Oct 26 '18 at 18:59
5

Hmm, I don't wish to be rude, but this seems like a rather bizarre question. It's like saying, "The professor is insisting we work from textbook X. But I'd prefer to use textbook Y." It may be that you could make a good case that Y is a better textbook. But if the class is going to be coherent, all the students should be working from the same textbook.

If everyone used a different dialect of SQL, then the professor would have to include discussions of all the different dialects in every class. Not only would the prof have to know all the dialects and all the differences, but he would have to take class time to discuss these differences constantly, rather than concentrating on the basic points. For students who are already thoroughly familiar with SQL, discussing differences between different dialects might be interesting and useful. But if the point of the class is to teach SQL, such digressions would not only be a burden on the professor but on the students. Students would have to be sorting through, what dialect is he talking about now? Does that apply to me or is that one I'm not using? The level of complexity would be greatly multiplied.

And how would he grade assignments? Is he supposed to have all these different dialects installed on his computer? And keep track of which student is using which dialect and be sure to test with the right one?

What if someone said, "I don't want to use SQL at all. I want to use Mongo"?

What if someone said, "I don't want to learn about databases. I want to learn about writing flat files"?

What if someone said, "I don't want to learn about databases. I want to learn about the French Revolution"?

Where would this end?

  • Unwise to drag textbooks into this. – Joshua Nov 2 '18 at 19:51
  • @Joshua Not sure what your point is. The bit about textbooks was an example. – Jay Nov 2 '18 at 19:55
  • It's a fight with more at stake than the language variant one; you could easily lose the textbook one due to the weight of the other side and still win this one. – Joshua Nov 2 '18 at 19:57
4

Most universities in the UK communicate information about their courses and modules by so-called course and module descriptors. They are often a part of your course handbook or provided in the module information pack.

Read the module descriptor and take a look on Learning Objectives for the module. They describe the skills and knowledge which you will obtain after a successful completion of this module. Your lecturer is here to help you acquire those skills.

  • If the LOs say you will learn a language/syntax, then this is what you need to learn. Presumably a choice of language is well justified since it made it into a formal document (which is a part of your learning contract).
  • If LOs say you will learn how to manage a database, then you have to manage a database using any suitable language. If the lecturer wants to impose a restriction, she/he should justify it using objective reasons, e.g. this program is outdated, this is not suitable for the task, this is proprietary and University does not have a license for it, etc. Forcing individual preferences on students without academic need for it is not cool and only shows that the lecturer has limited skill set and can't be bothered to learn more. This is not a good example to follow.
  • 3
    I think that admitting you have a limited skill set is a very good example to follow. Anyone who doesn't admit their limitations is not to be trusted. – Michael Kay Oct 26 '18 at 22:35
  • 2
    Per my last comment, I'm interested in helping more people more deeply, e.g., with better-prepared class presentations, more time for personal meetings and advising, deeper feedback on concepts for assignments, etc. It seems odd that you'd instead prioritize budgeting time to support students not having to learn a new language. – Daniel R. Collins Oct 29 '18 at 1:09
  • 1
    @DanielR.Collins I want to focus on helping students to learn what they want to learn and what the module descriptor promises they will learn. If they came to learn data analytics, for example, they can choose a language for their assignment - language is just a tool to help students learn the subject. Restricting their choice of language only reduces their experience. And I am happy to learn a new one, if I have to do it for marking purposed. How can I encourage students to learn if I don't want to learn myself? – Dmitry Savostyanov Oct 29 '18 at 7:45
  • 1
    It's not about the instructor not knowing a language, it's about constructing a single test harness to help automate grading and save time for other purposes. Refer to my first comment; now we're just arguing circles. – Daniel R. Collins Oct 29 '18 at 15:07
  • 1
    @DanielR.Collins You said "to help automate grading" and "automatic test harness". My first language is not English, and I apologise if I misunderstood you, but what is the key difference between your approach and automatic grading? – Dmitry Savostyanov Oct 30 '18 at 8:07
4

In general yes, but perhaps not with artifically "pushing" a specific commercial tool

I agree with the multiple answers as a matter of principle - teachers can and do choose how to teach their classes, and have much leeway regarding choice of tools for the students to use, as well as form and syntax for homework submission.

That being said, if the teacher of a course forces the use of a tool and/or dialect which:

  • Is only provided by a single commercial entity
  • (perhaps) Requires the students to expend financial resources on gaining access to this tool
  • (perhaps) Requires the university expend financial resources on gaining access to this tool
  • Has more commonly-used, freely-available and well-regarded alternatives
  • and the teacher refuses not provide a (minimally credible) rationale for exclusively using the tool

... then this may be ethically problematic. It is effectively a form of coercive commercial advertising on the teacher's part - if not artificial revenue-generation for the provider of such a tool - and may be contrary to the academic institute's regulations, or possibly to state laws.

Now, I'll grant that this is tricky business, since we're talking about regulating academic freedom with somewhat extrinsic considerations, so it would have to be rather egregious. I doubt that saying "Use the Oracle SQL variant" meets the above criteria, since for the purposes of your course it's probably effectively the same thing as ISO SQL; or can be trivially adapted from other SQL variants; and apparently there's an "Express version" which you can use for free. But in the kinds of cases I described above it is not as cut-and-dry as other responders to your question suggest.

  • 7
    Maybe. Oracle is available legaly for free (the "Express" edition); nobody needs to expend financial resources. It is debatable whether there are "more commonly-used" or "more well-regarded" alternatives, this surely depends on whom you talk to. But it is certainly not a seldomly used and not a questionable tool; and it is common enough in the industry that it is highly likely that a student will have quite a benefit from having it on their CV. It's also hardly a case of unethical advertisement or something like that. – AnoE Oct 27 '18 at 18:20
  • @AnoE: See edit. – einpoklum - reinstate Monica Oct 27 '18 at 20:08
  • I upvoted this. Just once, I want to see the instructors academic freedom overthrown by the students of the class. I am sure such a power would be abused heavily, but when the instructor insists on teaching largely obsolete technology it is time for the instructor to go. – Joshua Oct 28 '18 at 1:18
  • 3
    @Joshua: I would not want to see academic freedom overturned, and certainly not by students. Docents do have some ethical obligations, even while enjoying the freedom to teach as they see fit. (Actually, they don't effectively enjoy it anyways.) – einpoklum - reinstate Monica Oct 29 '18 at 13:14
  • 1
    @Joshua: To be honest - no, I have not. Remember, though, that universities can assign major-required classes to teachers who teach them more seriously, without forcing a specific approach on individual teachers. – einpoklum - reinstate Monica Oct 29 '18 at 14:42
1

For what its worth, with Oracle and PL/SQL you will get not only the core relational database and SQL experience, but also some hands-on experience with some aspects of a commercial database and its extensions to the standard. This will enable you to pick up just about any of the other standards-based RDBMS systems on your own and it will instantly feel familiar. You may not have another good opportunity to learn a commercial database prior to getting into the job market, and having Oracle PL/SQL on there will look great and possibly open some employment opportunities that would not normally be available to new graduates.

I'll add my own experiences to the pile for contrast. The lectures for my Introduction to Object Oriented Programming class in the mid-90's was taught in Fortran 77 (a non-OO language) because the (tenured) professor didn't know C++ and this was his last semester before retirement. He lectured using his notes (written on punch cards) from an earlier Data Structures class (based on an unrelated textbook), while the programming labs were taught in C++ by graduate students who actually knew what they were doing (thank you, Hamid). The exams were blue-book (written essay) and required answers to Object-Oriented programming questions drawn from the C++ lab assignments...written in Pascal - a language that none of the students in the class had been taught but were presumed to already know. Every student received a 2.5 and the professor retired. I learned OO programming from a graduate student during a two hour-per-week lab assignment, while his attention was split among 15 other students.

Another example from the following semester (more relevant to your situation). My Database class was taught without databases at all. There was no database, no SQL. The programming labs were entirely in C and involved assignments like implementing core data structures to support relational tables in memory, creating different indexes based on binary trees, etc., and writing queries using table scans and then the indexes, then evaluating their performance using big-O notation and refining the indexing methods. Even though I did well in the class, it provided no practical experience with any DBMS or query language. It was a Computer Science course in the purest form. In retrospect, the concepts stuck with me and it did help me to understand how to debug queries for performance.

In summary, at the university level you need to choose your battles wisely, and I hope this convinces you that your current course is not so bad. It is up to you to find ways to get the most long-term value out of your courses.

0

I agree with all the other answers: of course the lecturer can do this, and is likely to be using Oracle to grade your work.

I write to add: I think you should avoid Oracle extensions to or deviations from SQL, unless they greatly simplify the answer into something elegant. The specific difference I have in mind is Use standard SQL JOIN syntax, not Oracle's old WHERE based syntax. The former can express relations that the latter can not, the latter is not accepted by other RDBMSes, and I can't believe your lecturer would be using a version of Oracle so old it didn't also take the SQL standard syntax.

Not the answer you're looking for? Browse other questions tagged or ask your own question.